一.六大原则(SOLID)
- 单一职责原则(Single Responsibility Principle)
- 开闭原则(Open Closed Principle)
- 里氏转换原则(Liskov Substitution Principle)
- 迪米特法则(Law of Demeter)
- 接口隔离原则(Interface Segregation Principle)
- 依赖倒置原则(Dependence Inversion Principle)
二.单一职责原则
定义:一个类的变化只有一个原因引起。
三.开闭原则
定义:一个软件实体,如类、模块和函数等等应该是可以扩展的,但是不可修改的。
四.里氏转换原则
定义:子类可以转换为基类。
注意:1. 子类可以转换为基类,但基类不一定可以转换为子类
2.子类必须完全实现基类的方法,如果子类是抽象类则可以不必实现
3.子类可以有自己的个性
4.覆盖或实现父类的方法时输入参数可以被放大
5.覆盖或实现父类的方法时输出结果可以被缩小
五.迪米特法则
定义: 一个对象应该对尽可能少的对象有接触,也就是只接触那些真正需要接触的对象。
六.接口隔离原则
定义:不应该强迫客户依赖于它们不用的方法,建立单一接口,接口尽量细化。
七.依赖倒置原则
定义:1.高层次模块不应该依赖于低层模块,二者都应该依赖于抽象
2.抽象不应该依赖于节,细节应该依赖抽象
八.参考书籍
1.Robert.C.Martin Agile.Software.Development:Principles,Patterns.and.Practices
2.秦小波 设计模式之禅第2版