一、单一职责原则(Single Responsibility Principle,SRP)
●一个程序只做好一件事
●拆分开复杂功能,保证每个部分独立
二、开闭原则(Open-Closed Principle,OCP)
●对扩展开放,对修改封闭
●增加需求时,扩展新代码,而非修改已有代码
三、里氏替换原则(Liskov Substitution Principle,LSP)
●子类能覆盖父类,也可以继承父类
●父类能出现的地方子类就能出现
四、依赖倒置原则(Dependency Inversion Principle,DIP)
●面向接口编程,依赖于抽象而不依赖于具体的细节
●使用方只关注接口而不关注具体类的实现
五、接口隔离原则(Interface Segregation Principle,ISP)
●保持接口的单一独立
●类似单一职责原则,这里更关注接口
六、迪米特法则(Law of Demeter,LoD)
●降低类之间的耦合,减少不必要依赖,并不是要做到完全没有依赖
七、组合/聚合复用原则(Composition/Aggregation Reuse Principle,CARP)
●优先使用组合或聚合关系来复用代码,而不是使用继承关系,为了实现松耦合设计