- 单一功能原则 (Single Responsiblity Principle SRP)
- 开闭原则(Open Closed Principle,OCP
- 里氏替换原则(Liskov Substitution Principle,LSP)
- 接口隔离原则(Interface Segregation Principle,ISP)
-
依赖倒置原则(Dependency Inversion Principle,DIP)
- 迪米特法则(Law of Demeter,LOD,也叫最小知识原则)
设计模式就是实现了这些原则,从而达到了代码复用、增加可维护性的目的。
单一功能原则
规定每个类都应该有一个单一的功能,并且该功能应该由这个类完全封装起来。所有它的(这个类的)服务都应该严密的和该功能平行(功能平行,意味着没有依赖)
开闭原则
就是说模块应对扩展开放,而对修改关闭。模块应尽量在不修改原(是“原”,指原来的代码)代码的情况下进行扩展。
开闭原则具有理想主义的色彩,它是面向对象设计的终极目标。其他几条,则可以看做是开闭原则的实现方法。
里氏替换原则
子类 override 方法的访问权限不能小于父类对应方法的访问权限。可以说:里氏代换原则是继承复用的一个基础。
接口隔离原则
客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上
依赖倒置原则
A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。
B.抽象不应该依赖于具体实现,具体实现应该依赖于抽象。
迪米特法则
一个软件实体应当尽可能少的与其他实体发生相互作用。