设计模式6大原则

来源:互联网 发布:2017支付宝秒余额源码 编辑:程序博客网 时间:2024/05/18 02:27
1, 里氏置换原则  Liskov Substitution Principle
 Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.
 所有引用基类的地方必须能够透明的使用其子类对象。
2,  依赖倒置原则  Dependence Inversion Principle
 High level modules should depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions. 

1、高层模块不应该依赖低层模块,两者都应该依赖于抽象(抽象类或接口)

2、抽象(抽象类或接口)不应该依赖于细节(具体实现类)

3、细节(具体实现类)应该依赖抽象

3, 接口隔离原则 

首先看看接口隔离原则的定义,有两种定义

第一种:Clients should not be forced to depend upon interfaces that they don't use.(客户端不应该强行以来它不需要的接口)

第二种:The dependency of one class to another one should depend on the smallest possible interface.(类间的依赖关系应该建立在最小的接口上)

4,单一职责原则  Single Responsibility Principle
 There should never be more than one reason for a class to change. 
 应该有且仅有一个原因引起类的变更。
5,迪米特法则(Law of emeter)

定义:一个对象应该对其他对象了解最少

迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合了以后,类的复用性才可以提高。

① 在类的划分上,应该创建有弱耦合的类;

② 在类的结构设计上,每一个类都应当尽量降低成员的访问权限;

③ 在类的设计上,只要有可能,一个类应当设计成不变类;

④ 在对其他类的引用上,一个对象对其它对象的引用应当降到最低;

⑤ 尽量降低类的访问权限;

⑥ 谨慎使用序列化功能;

⑦ 不要暴露类成员,而应该提供相应的访问器(属性)。
6.开闭原则(Open Closed Principle)

开闭原则的核心是:对扩展开放,对修改关闭。

原创粉丝点击