设计模式七个原则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式七个原则相关的知识,希望对你有一定的参考价值。

归纳有7个,单一职能原则、开闭原则、里氏置换原则、接口隔离原则、依赖倒置原则、合成/聚合复用原则、迪米特法则;

代码结构好,体现在:内聚,方便拓展,解耦,抽象类/具体实现类

  • 单一职能原则

  一个类只负责一项职责,体现内聚

 

  • 开闭原则

  对修改关闭,拓展开放;

  一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。模块应尽量在不修改原(是“原”,指原来的代码)代码的情况下进行扩展。

 

  • 里氏置换原则

  任何基类可以出现的地方,一定可以用子类代替,且不会改变程序逻辑。

 

  • 接口隔离原则

  客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口上;

  直观的要求就是不出现臃肿的接口(Fat Interface),但是“小”是有限度的,首先就是不能违反单一职责原则。

 

  • 依赖倒置原则

  程序要依赖于抽象接口,不要依赖于具体实现。

 

  • 合成/聚合复用原则

  设计原则是:要尽量使用合成/聚合,尽量不要使用继承。

  1、聚合用来表示“拥有”关系或者整体与部分的关系。代表部分的对象有可能会被多个代表整体的对象所共享,而且不一定会随着某个代表整体的对象被销毁或破坏而被销毁或破坏,部分的生命周期可以超越整体。

  2、合成用来表示一种强得多的“拥有”关系。在一个合成关系里,部分和整体的生命周期是一样的。一个合成的新对象完全拥有对其组成部分的支配权,包括它们的创建和湮灭等。

 

  • 迪米特法则(感觉这个原则,主要靠整体的设计,不具备直接的操作性)

  一个软件实体应当尽可能少的与其他实体发生相互作用。

  迪米特法则的初衷在于降低类之间的耦合,类尽量减少对其他类的依赖,使得系统的功能模块功能独立。

参考资料:http://www.cnblogs.com/toutou/p/4870926.html

以上是关于设计模式七个原则的主要内容,如果未能解决你的问题,请参考以下文章

面向对象的七个设计原则

面向对象的七个设计原则

设计模式一概述

关于写作,你不得不知道的七个原则

设计模式之单一职责原则

设计模式原则之:单一职责原则SRP