Loading

面向对象设计原则

面向对象设计原则

之所以出现这些原则,是因为在软件的设计中面对不可变的需求,为了使软件可控制,在设计层面尽量规范化。
当然这些设计原则在日常使用中做到面面俱到是非常困难的。只有非常有经验的人士才能尽量引用的很好。

原则

  1. 开闭原则(OCP)
  2. 依赖倒置原则(DIP)
  3. 单一责任原则(SRP)
  4. 里氏替换原则(LSP)
  5. 迪米特法则(LKP)
  6. 接口隔离原则(ISP)
  7. 重用发布等价原则(REP)
  8. 共同封闭原则(CCP)
  9. 无依赖原则(ADP)
  10. 稳定依赖原则(SDP)
  11. 稳定抽象原则(SAP)

开闭原则

定义

软件实体应当对扩展开放,对修改关闭。
此定义由1988年,勃兰特梅耶(Bertrand Meyer)在他的著作《面向对象软件构造》中提出。

依赖倒置原则

定义

  • 高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。
  • 抽象不应该依赖于具体实现,具体实现应该依赖于抽象。

单一责任原则

定义

就一个类而言,应该仅有一个引起它变化的原因。

里氏替换原则

定义

“继承必须确保超类所拥有的性质在子类中仍然成立。”也就是说,当一个子类的实例应该能够替换任何其超类的实例时,他们之间才具有is-A关系。

迪米特法则

定义

迪米特法则又叫作最少知识原则,就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。

接口隔离原则

定义

客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

重用发布等价原则

定义

重用的粒度就是发布的粒度。

共同重用原则

定义

一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类。相互之间没有紧密联系的类不应该在同一个包中。

共同封闭原则

定义

一个包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不造成任何影响。

无依赖原则

定义

在包的依赖关系中不允许存在环。细节不应该被依赖。

稳定依赖原则

定义

朝着稳定的方向进行依赖。

稳定抽象原则

定义

一个包的抽象程度应该和其他稳定程度一致。

posted @ 2020-10-14 15:58  songjinze  阅读(143)  评论(0)    收藏  举报