软件设计七大原则

  • 开闭原则
  • 单一职责
  • 依赖倒置(倒转)原则
  • 接口隔离原则
  • 迪米特法则(最少知道原则)
  • 里氏代换原则
  • 合成复用原则

23种设计模式

创建型模式

  1. 工厂方法
  2. 建造者模式
  3. 原型模式
  4. 抽象工厂
  5. 单例模式

结构型模式

  1. 桥接模式
  2. 适配器模式
  3. 装饰模式
  4. 代理模式
  5. 组合模式
  6. 外观模式
  7. 享元模式

行为型模式

  1. 策略模式
  2. 责任链模式
  3. 观察者模式
  4. 中介者模式
  5. 命令模式
  6. 状态模式
  7. 模版方法
  8. 访问者模式
  9. 迭代器模式
  10. 备忘录模式
  11. 解释器模式

总结

如何优化代码的结构,增强代码的灵活性,扩展性,以下是一些常见的思考方式。

  1. 代码的书写要注意软件设计七大原则。当设计原则冲突较多的时候,可能设计本身有问题,需要进行解耦。

  2. 多用组合,少用继承。

  3. 改变一个类的行为,既可以选择在目标类内注入依赖对象的形式,比如:状态模式、桥接模式。也可以从外部包装目标类,获得新的行为,例如:装饰器模式。

  4. 当代码出现大段代码、重复代码(坏味道)时候:

  • 考虑下是否可以对大段逻辑进程分割,分割出的不同逻辑,可以封装成不同的对象,实现同一接口。再在上下文中聚合后,进行调用,可以降低上下文对分段逻辑的耦合。

  • 将大段代码中的不同逻辑,封装成成不同的监听器,在上下文中,通过模版方法,依赖监听器的抽象接口,这样可以增加监听接口的扩展性。

  • 将大段代码中,与上下文关联不大,主要注重触发时机的代码,进行抽象封装后。引入事件总线,通过总线触发的方式,来执行相关逻辑。

  1. 写代码时候,只要逻辑具有不确定,或者有多个替代方案的时候,这时候就要考虑将此段代码进行接口抽象化,将变化封装起来。
最后修改日期: 28 2 月, 2025

作者

留言

撰写回覆或留言