设计模式的六大原则

Posted 2828sea

tags:

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

开闭原则:

百度百科:面向对象编程领域中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变                            它 的源代码的前提下变更它的行为。该特性在产品化的环境中是特别有价值的,在这种环境中,改变源代码需要代码审查单元测试以及诸如此类的用以确保产品                              使用质量的过程。遵循这种原则的代码在扩展时并不发生改变,因此无需上述的过程

个人见解:在现有的软件项目或模块中,如果需要新增一个模块,无需去修改源代码以及改逻辑,而是对其进行扩展,新增代码,不影响其正常的功能!

                        通俗的讲:就是程序好扩展,容易维护和升级

里氏代换原则:

百度百科:里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用                         的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是 “开-                           闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

个人见解这个讲的是继承关系,子类继承父类,子类可以去替换父类,而不影响的程序的正常运行,父类才能被复用,子类也能够在父类的基础上增加新的行为。

                       通熟的讲:子类一定要能替换父类,并且能在其增加新的行为。

依赖倒转原则:

百度百科:依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样                          就降低了客户与实现模块间的耦合。

个人见解:程序设计的时候,把功能用接口或者抽象去描述,具体的功能和实现,让实现类去操作,针对接口编程

                       通熟讲:降低模块间的耦合。

接口隔离原则

百度百科:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

个人见解:使用多个隔离的接口,使用起来更灵活

                      通熟讲:提高程序设计灵活性。

 

迪米特法则

百度百科:迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。                         英文简写为: LoD.

个人见解:软件中实体与实体之间的应该减少相互作用,让其独立起来,方便后期维护

                       通熟讲:降低类之间的耦合,减少对其他类的依赖。

单一职责原则

百度百科:单一职责原则(SRP:Single responsibility principle)又称单一功能原则,面向对象五个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因。                         该原则由罗伯特·C·马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中给出的。马丁表示此原则是基于汤姆·狄马克(Tom DeMarco)和Meilir                           Page-Jones的著作中的内聚性原则发展出的。

个人见解:接口和类之间单继承,让类独立起来,只负责一个模块

                     通熟讲:类的复杂性降低,可读性提高,可维护性提高。

参考了:http://www.woshipm.com/pd/779447.html

 

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

设计模式六大原则

设计模式六大原则

设计模式六大原则

转:设计模式六大原则

设计模式六大原则-----转载

关于设计模式的六大原则