面向对象设计的原则

  • 单一职责原则(SRP)
    • 就一个类而言应该仅有一个引起它变化的原因.
  • 开闭原则(OCP)
    • 软件模块对扩展是开放的
      • 当需求发生改变时,可以对模块进行扩展
    • 软件模块对修改是封闭的
      • 对模块进行扩展时无须改动原有的代码
  • Liskov替换原则(LSP)
    • 子类能够完全替换父类型,而不会让父类型的客户程序行为上有任何的改变
  • 接口隔离原则(ISP)
    • 客户端不因该依赖它不需要的接口
    • 类间的依赖关系应该建立在最小的接口上
      • 使用多个专门的接口比使用单一的总计口要好
    • 防止接口污染
  • 依赖倒置原则(DIP)
    • 高层模块不应该依赖于底层模块,二者都应该依赖于抽象
原文地址:https://www.cnblogs.com/LionheartCGJ/p/OOD.html