设计模式-6大设计原则

一、单一职责原则

  • Single Responsibility Principle,简称SRP。
  • 单一职责原则的定义是:应该有且仅有一个原因引起类的变更。

二、里氏替换原则

  • Liskov Substitution Principle,LSP
  • 定义1:如果每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所在的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。
  • 定义2:所有引用基类的地方必须能透明的使用其子类的对象。

三、依赖倒置原则

  • Dependence Inversion Principle,DIP
  • 高层模块不应该依赖底层模块,两者都应该依赖其抽象
  • 抽象不应该依赖细节
  • 细节应该依赖抽象
  • 依赖倒置原则在Java语言中的表现就是:
    • 模块间的依赖通过抽象发生,实现类直接不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的
    • 接口或抽象类不依赖于实现类
    • 实现类依赖接口或抽象类

四、接口隔离原则

  • 客户端不应该依赖他不需要的接口
  • 类间的依赖关系应该建立在最小的接口上

五、迪米特法则

  • Law of Demeter,LoD,也称最少知识原则(Least Knowledge Principle,LKP)
  • 一个对象应该对其他对象有最少的了解

六、开闭原则

  • 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭

你可能感兴趣的:(设计模式-6大设计原则)