七大设计原则

  • 开闭原则
    • 软件在生命周期都会变。
    • 设计时适应变化,对修改关闭,对扩展开放。
  • 单一职责原则
    • 一个方法只负责一件事
    • 各职责的改动,不影响其他程序。
    • 优:低耦合,可扩展维护,降低可变风险。
  • 里氏替换原则
    • 基类可使用继承的子类完美提换
    • 不能破继承坏关系的体系,子类可扩展父类,不能改变父类;可实现父类抽象方法,单不能覆盖抽象。
    • 优:增加健壮性。
  • 依赖倒转原则
    • 面向接口,传承或关联尽量引用高的抽象层。
    • 开闭的基础,对接口编程,依赖于抽象而不是具体。
  • 接口隔离原则
    • 多个相互隔离的接口比单个接口好。
    • 如:支付和订单接口,需要把这两类变成隔离的接口。
  • 迪米特法则(最少知道原则)
    • 类对其他对象尽量少的了解,就是解耦。
    • 类尽量减少对其他的依赖,只有各模块之间的藕合尽量低,才能提供代码复用率。
    • 优:低耦合高内聚
  • 合成复用原则

设计模式总览

创建型

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

    结构型

  6. 适配器模式

  7. 桥接模式
  8. 组合模式
  9. 装饰模式
  10. 外观模式
  11. 享元模式
  12. 代理模式

    行为型

  13. 责任链模式

  14. 命令模式
  15. 迭代器模式
  16. 中介者模式
  17. 备忘录模式
  18. 观察者模式
  19. 状态模式
  20. 策略模式
  21. 模板方法模式
  22. 访问者模式