一,单一职责原则
二,开放封闭原则
定义:对扩展开发,对修改关闭。既软件实体应在不修改原有代码的情况下进行扩展。
实现:抽象化。
典型案例:用一个抽象类代替switch...case
三,里氏替换原则
定义:子类型必须能够替换它们的基类型。
四,依赖倒置原则
定义:要依赖于抽象,不要依赖于具体。客户端依赖于抽象耦合。
特点:针对接口编程,不针对实现编程。
好处:低耦合。依赖倒置原则使细节和策略都依赖于抽象,抽象的稳定性决定了系统的稳定性。
五,接口隔离原则
定义:使用多个专一功能的接口比使用一个总接口要好。
特点:一个类对另一个类的依赖性是建立在最小接口上的,避免了接口污染。
好处:高内聚。一个软件系统功能扩展时,修改的压力不会传到别的对象那里。
六,迪米特法则(最少知识原则)
定义:对象与对象之间应使用尽可能少的方法来关联。
特点:类可以访问其他类的方法或属性尽量少。
好处:低耦合。