概括:
1、单一职责原则(Single Responsibility Principle,SRP)
2、开放封闭原则(Open/Closed Principle,OCP)
3、里氏替换原则(Liskov Substitution Principle,LSP)
4、依赖倒置原则(Dependency Inversion Principle,DIP)
5、接口隔离原则(Interface Segregation Principle,ISP)
6、迪米特法则(Law of Demeter,LoD)
7、合成/聚合复用原则(Composition/Aggregation Reuse Principle,CARP)
单一职责原则(SRP):
一个类只负责一种职责,如果一个类有两个不同的职责, 如果职责1的需求发生变更而需要改变时,可能会造成职责2的执行错误。该原则鼓励将功能分解为小的、独立的单元,每个单元只负责一个事情。? ? ? ?
?开放封闭原则(OCP):
对于拓展是开放的,对于修改是关闭的。通过拓展现有代码来引入新功能,而不是通过修改现有的代码
里氏替换原则(LSP):
任何父类出现的地方,都可以用它的字类来替代,而不会导致系统出错,强调正确使用继承关系。
依赖倒置原则(DIP):
高层模块不应该依赖低层模块,两者应该都应该依赖于抽象。要求程序要依赖于抽象接口,而不是具体的实现,该原则通过引入抽象接口和抽象类来将高层模块和低层模块解耦。
接口隔离原则(ISP):
客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。
接口应该小而专注,不应该包含其他多余的方法,不要使用一个大的总接口。
迪米特法则(LoD):
一个对象应该对其他对象保持最少的了解。保持对象之间的松耦合。
合成/聚合复用原则(CARP):
找出程序中可能需要变化之处,把他们独立出来,不要和不需要变化的代码混在一起。
针对接口编程,而非针对实现编程
尽量使用合成聚合的方式,而非使用继承