设计模型之六大原则 - 随心
2012-09-21 16:46
211 查看
单一职责原则(Single Responsibility Principle)
就一个类而言,应该只有一个引起它变化的原因。 主要就是把一个类处理的事情单一化。
尽量不要做两个不同性质的事。如:游戏的视图应该与逻辑分离
里氏替换原则(Liskov Substitution Principle)
父类能出现的地方子类就能出现,所以子类必须实现父类的方法
依赖倒置原则(Dependence Inversion Principle)
高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。
A类依赖于B类实现业务上的功能,假如需求更改了,需要A类依赖于C类实现业务上的功能,现在就要去更改A类上使用B类代码换成C类,修改A类会带来不必要的风险。这里A类就为高层模块。所以应该用一个接口或抽象类让B类和C类继承并实现它
接口隔离原则(Interface Segregation Principle)
定义一:客户端不应该强行以来它不需要的接口
定义二:类间的依赖关系应该建立在最小的接口上
迪米特法则(Law Of Demeter)
如果两个类不必彼此直接通信,那么两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法,可以通过第三者转发这个调用。
主要意思是把那些不必要直接通信的方法或属性设置我private
开闭原则(Open Close Principle)
软件的实体(类,模块,函数等)应该可以扩展,但是不可以修改
就一个类而言,应该只有一个引起它变化的原因。 主要就是把一个类处理的事情单一化。
尽量不要做两个不同性质的事。如:游戏的视图应该与逻辑分离
里氏替换原则(Liskov Substitution Principle)
父类能出现的地方子类就能出现,所以子类必须实现父类的方法
依赖倒置原则(Dependence Inversion Principle)
高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。
A类依赖于B类实现业务上的功能,假如需求更改了,需要A类依赖于C类实现业务上的功能,现在就要去更改A类上使用B类代码换成C类,修改A类会带来不必要的风险。这里A类就为高层模块。所以应该用一个接口或抽象类让B类和C类继承并实现它
接口隔离原则(Interface Segregation Principle)
定义一:客户端不应该强行以来它不需要的接口
定义二:类间的依赖关系应该建立在最小的接口上
迪米特法则(Law Of Demeter)
如果两个类不必彼此直接通信,那么两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法,可以通过第三者转发这个调用。
主要意思是把那些不必要直接通信的方法或属性设置我private
开闭原则(Open Close Principle)
软件的实体(类,模块,函数等)应该可以扩展,但是不可以修改
相关文章推荐
- 设计模式六大原则(4):接口隔离原则
- 设计模式六大原则
- 六大设计原则
- 设计模式六大原则(3):依赖倒置原则
- 六大设计原则(1) 里氏替换原则
- 六大设计原则之里氏替换原则(LSP)
- 设计模式六大原则(6):开闭原则(转载)
- 详解设计模式六大原则
- 设计模式--六大原则
- 六大设计原则之依赖倒置原则(DIP)
- 设计模式六大原则(4):接口隔离原则
- 设计模式值六大原则——里氏替换原则(LSP)
- 设计模式六大设计原则
- 六大设计原则(3)接口隔离原则
- 设计模式六大原则(5):迪米特法则
- 设计模式六大原则(2):里氏替换原则
- 设计模式六大原则
- [转]设计模式之六大原则——开闭原则(OCP)
- 设计模式六大原则(6):开闭原则
- 面向对象的六大设计原则