设计模式的六大原则

作者: 极客大白 | 来源:发表于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源码设计模式-解析与实战》 作者总结的很好,有兴趣的可以去看看书。

    相关文章

      网友评论

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

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