软件设计七大原则
- 开闭原则
- 单一职责
- 依赖倒置(倒转)原则
- 接口隔离原则
- 迪米特法则(最少知道原则)
- 里氏代换原则
- 合成复用原则
23种设计模式
创建型模式
- 工厂方法
- 建造者模式
- 原型模式
- 抽象工厂
- 单例模式
结构型模式
- 桥接模式
- 适配器模式
- 装饰模式
- 代理模式
- 组合模式
- 外观模式
- 享元模式
行为型模式
- 策略模式
- 责任链模式
- 观察者模式
- 中介者模式
- 命令模式
- 状态模式
- 模版方法
- 访问者模式
- 迭代器模式
- 备忘录模式
- 解释器模式
总结
如何优化代码的结构,增强代码的灵活性,扩展性,以下是一些常见的思考方式。
-
代码的书写要注意软件设计七大原则。当设计原则冲突较多的时候,可能设计本身有问题,需要进行解耦。
-
多用组合,少用继承。
-
改变一个类的行为,既可以选择在目标类内注入依赖对象的形式,比如:状态模式、桥接模式。也可以从外部包装目标类,获得新的行为,例如:装饰器模式。
-
当代码出现大段代码、重复代码(坏味道)时候:
-
考虑下是否可以对大段逻辑进程分割,分割出的不同逻辑,可以封装成不同的对象,实现同一接口。再在上下文中聚合后,进行调用,可以降低上下文对分段逻辑的耦合。
-
将大段代码中的不同逻辑,封装成成不同的监听器,在上下文中,通过模版方法,依赖监听器的抽象接口,这样可以增加监听接口的扩展性。
-
将大段代码中,与上下文关联不大,主要注重触发时机的代码,进行抽象封装后。引入事件总线,通过总线触发的方式,来执行相关逻辑。
- 写代码时候,只要逻辑具有不确定,或者有多个替代方案的时候,这时候就要考虑将此段代码进行接口抽象化,将变化封装起来。
留言