一、单一指责原则(SRP:Single responsibility principle)
定义:就一个类而言,应该仅有一个引起它变化的原因(否则类应该被拆分)。
分析:
1.核心:控制类的粒度大小,将对象解耦,提高其内聚性。
二、开放-封闭原则(OCP:Open Closed Principle)
定义:软件实体(类、模块、函数等)应该可以扩展,但是不可修改。
分析:
1.两个特征:对于扩展是开放的(Open for extension);对于更改是封闭的(Close for modification)。
三、依赖倒转原则(DIP:Dependence Inversion Principle)
定义:抽象不应该依赖细节,细节应该依赖于抽象。要针对接口编程,不要针对实现编程。高层模块不应该依赖低层模块,两个都应该依赖抽象。
分析:(面向对象设计的标志)如果编程时考虑的都是如何针对抽象编程而不是针对细节编程,即程序中所有的依赖关系都是终止于抽象类或者接口,那就是面向对象的设计,反之则是面向过程的设计。
四、里氏替换原则(LSP:Liskov Substitution Principle)
定义:子类型必须能够