设计模式六大原则

原创 2015年11月18日 14:03:31

1.  单一职责原则(Single Responsibility Principle)

详情请参考:http://blog.csdn.net/zhengzhb/article/details/7278174

2.  里氏替换原则(Liskov Substitution Principle)

里氏替换原则的内容可以描述为: “派生类(子类)对象能够替换其基类(超类)对象被使用。” 

违反里氏代换原则意味着违反了开闭原则,反之未必。

详情请参考:http://blog.csdn.net/Bitou_Von/article/details/4210654

3.  依赖倒置原则(Dependence Inversion Principle)

高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象

详情请参考:http://blog.csdn.net/zhengzhb/article/details/7289269

4.  接口隔离原则(Interface Segregation Principle)

建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。

详细请参考:http://blog.csdn.net/zhengzhb/article/details/7296921

5.  迪米特法则(Law Of Demeter)又名最少知道原则

定义:只与直接的朋友通信。一个对象应该对其他对象保持最少的了解。

迪米特法则的初衷是降低类之间的耦合,由于每个类都减少了不必要的依赖,因此的确可以降低耦合关系。

详情请参考:http://blog.csdn.net/zhengzhb/article/details/7296930

6.开闭原则

定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

其实,我们遵循设计模式前面5大原则,以及使用23种设计模式的目的就是遵循开闭原则。也就是说,只要我们对前面5项原则遵守的好了,设计出的软件自然是符合开闭原则的。

详情请参考:http://blog.csdn.net/zhengzhb/article/details/7296944


总结:

单一职责原则告诉我们实现类要职责单一;

里氏替换原则告诉我们不要破坏继承体系;

依赖倒置原则告诉我们要面向接口编程;

接口隔离原则告诉我们在设计接口的时候要精简单一;

迪米特法则告诉我们要降低耦合;

开闭原则告诉我们要对扩展开放,对修改关闭。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

设计模式之六大原则

  • 2016年04月06日 22:08
  • 161KB
  • 下载

JAVA设计模式的六大原则

  • 2017年03月09日 15:08
  • 58KB
  • 下载

设计模式六大原则(5):迪米特法则

定义:一个对象应该对其他对象保持最少的了解。 问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。 解决方案:尽量降低类与类之间的耦合。          ...
  • zhengzhb
  • zhengzhb
  • 2012年02月27日 08:40
  • 57237

设计模式六大原则

  • 2015年10月30日 12:27
  • 2KB
  • 下载

设计模式的六大原则

  • 2015年11月24日 20:06
  • 1.29MB
  • 下载

设计模式之六大原则(一)

在学习设计模式的过程中设计到六大原则,分别是单一职责原则、开放-封闭原则、依赖倒转原则、迪米特法则、里氏代换原则、接口隔离原则。这些原则秉承着系统易维护、易扩展、易复用、灵活多样的思想,我们学习时倘若...
  • qqxyy99
  • qqxyy99
  • 2016年02月03日 11:25
  • 485

设计模式六大原则

  • 2012年02月01日 10:31
  • 785KB
  • 下载

Java基础学习总结(84)——Java面向对象六大原则和设计模式

面向对象六大原则 在此之前,有一点需要大家知道,熟悉这些原则并不是说你写出的程序就一定灵活、清晰,只是为你优秀的代码之路铺上了一层栅栏,在这些原则的指导下,你才能避免陷入一些常见的代码泥沼,从而让你...

设计模式六大原则 设计模式详解

  • 2011年08月05日 19:21
  • 379KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式六大原则
举报原因:
原因补充:

(最多只允许输入30个字)