设计模式的六大原则

作者: 极客大白 | 来源:发表于2017-07-03 18:01 被阅读80次

设计模式的六大原则

单一职责原则(Single Responsibility Principle)(SRP)

就一个类而言,应该仅有一个引起它变化的原因。

开闭原则(Open Close Principle)(OCP)

软件中的对象(类、模块、函数等)应该对于扩展是开放的,但对于修改是封闭的。
遵循开闭原则的重要手段是通过抽象

里氏替换原则(Liskov Substitution Principle)(LSP)

所有引用基类的地方必须能透明地使用其子类的对象
开闭原则和里氏替换原则往往是生死相依、不离不弃的,通过里氏替换来达到达到对扩展开放,对修改关闭的的效果。
这两个原则都同时强调了一个OOP的重要特性——抽象。因此,在开发过程中,运用抽象是走向代码优化的重要一步。

依赖倒置原则(Dependence Inversion Principle)(DIP)

依赖倒置原则指代了一种特定的解耦形式,使得高层次的模块不依赖于低层次的模块的实现细节的目的,依赖模块被颠倒了。
依赖倒置原则的几个关键点:

高层模块不应该依赖低层模块,两者都应该依赖其抽象;
抽象不应该依赖细节;
细节应该依赖抽象。
接口隔离原则(Interface Segregation Principle)(ISP)

定义:客户端不应该依赖他不需要的接口。

定义:类间的依赖应该是简历在最小的接口上。
接口隔离原则将非常庞大、臃肿的接口拆分成更小和更具体的接口,这样客户将只会知道他们感兴趣的方法,接口隔离原则的目的是系统解开耦合,从而容易重构、更改和重新部署。

Bob大叔,(Robert C Martin)在21世纪初将上述五个原则定义为SOLID原则。作为面向对象编程的5个基本原则。
当这些原则被一起使用时,他们使得一个软件系统更清晰、简单,最大程度地拥抱变化。SOLID被典型地应用在测试驱动开发上,并且是敏捷开发以及自适应软件开发基本原则的重要组成部分。
这几个原则最终可以化为这几个关键词:抽象、单一职责、最小化。

除了上述原则之外还有一个迪米特原则。

迪米特原则(Law of Demeter)(LOD)or 最少知识原则(Least Knowledge Principle)(LKP)

定义:一个对象应该对其他对象有最少的了解
英文解释:Only talk to your immedate friends:只与直接的朋友通信。
使系统有更低的耦合性和更好的扩展性。

摘自《Android源码设计模式-解析与实战》 作者总结的很好,有兴趣的可以去看看书。

相关文章

  • 设计模式

    设计模式六大原则[设计模式六大原则(1):单一职责原则][设计模式六大原则(2):里氏替换原则][设计模式六大原则...

  • 设计模式-六大原则

    转载自 设计模式六大原则 目录:- 设计模式六大原则(1):单一职责原则- 设计模式六大原则(2):里氏替换原则-...

  • 设计模式六大原则

    目录: 设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒...

  • 设计模式6大原则

    目录: 设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒...

  • 设计原则之6大原则

    目录:设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置...

  • 设计模式 - 六大原则

    Reference 快速理解-设计模式六大原则 设计模式的六大原则 设计模式之六大原则作者:海子出处:http:/...

  • 设计模式(二):六大原则

    参考:设计模式六大原则简书-快速理解-设计模式六大原则注意:IoC 也属于设计模式吧。 设计模式六大原则(1):单...

  • 无标题文章

    设计模式之六大原则(转载) 设计模式之六大原则(转载) 关于设计模式的六大设计原则的资料网上很多,但是很多地方解释...

  • 设计模式六大原则

    设计模式之六大原则(转载) 关于设计模式的六大设计原则的资料网上很多...

  • 设计模式目录

    1. 设计模式中类的关系和六大设计原则 一、设计模式简介二、设计模式中类的关系三、设计模式的六大设计原则之单一职责...

网友评论

    本文标题:设计模式的六大原则

    本文链接:https://www.haomeiwen.com/subject/kljzcxtx.html