您的位置:首页 > 其它

设计模式之六大原则

2016-02-04 15:13 232 查看
使用设计模式的根本原因是为了代码复用,增加可维护性。那么怎么才能实现代码复用呢?这里有几个原则:
"开-闭"原则、里氏代换原则。设计模式就是实现了这些原则,从而达到了代码复用、增加可维护性的目的。


"开-闭"原则

定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。  
开闭原则无非就是想表达这样一层意思:用抽象构建框架,用实现扩展细节。因为抽象灵活性好,适应性广,只要抽
象的合理,可以基本保持软件架构的稳定。而软件中易变的细节,我们用从抽象派生的实现类来进行扩展,当软件需
要发生变化时,我们只需要根据需求重新派生一个实现类来扩展就可以了。当然前提是我们的抽象要合理,要对需求
的变更有前瞻性和预见性才行。

里氏转换原则

定义:如果调用的是父类的话,那么换成子类也完全可以运行。
当使用继承时,遵循里氏替换原则。类B继承类A时,除添加新的方法完成新增功能外,尽量不要重写父类A的方法,
也尽量不要重载父类A的方法。父类中凡是已经实现好的方法(相对于抽象方法而言),实际上是在设定一系列的规
范和契约,虽然它不强制要求所有的子类必须遵从这些契约,但是如果子类对这些非抽象方法任意修改,就会对整个
继承体系造成破坏。而里氏替换原则就是表达了这一层含义。

迪米特原则

定义:一个对象应该对其他对象保持最少的了解。
迪米特法则也叫做做最少知识原则,其核心精神是:不和陌生人说话,通俗之意是一个对象对自己需要耦合关联调用
的类应该知道的更少。这样会导致类之间的耦合度降低,每个类都尽量减少对其他类的依赖,因此,这也很容易使得
系统的功能模块相互独立,之间不存在很强的依赖关系。

单一职责原则

定义:一个类只负责一项职责。
 单一职责原则的核心精神是:一个类,或者一个接口,最好只做一件事情,当发生变化时,他只能受到单一的影响;
因为职责过多,可能引起变化的原因将会很多,这样导致职责和功能上的依赖,将严重影响其内聚性和耦合度,混乱
由此而生。

依赖倒转原则

定义: 高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。
  依赖倒置原则基于这样一个事实:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建起来的架构比
以细节为基础搭建起来的架构要稳定的多。

接口隔离原则

定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。
定制服务的例子,每一个接口应该是一种角色,不多不少,不干不该干的事,该干的事都要干。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: