美文网首页java设计模式
第二篇 - 六大原则

第二篇 - 六大原则

作者: hgfsrui | 来源:发表于2019-03-10 10:00 被阅读0次

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

        定义:单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因。

        单一职责原则是实现高内聚、低耦合的指导方针;它需要开发人员发现类的不同职责并将其分离。难点就在于怎么分离?那就是如果你能够想到多于一个的动机去改变一个类,那么这个类就具多余一个的职责。

2、开发-封闭原则(Open-Closed Principle)

        定义:软件实体(类、模块、函数等等),应该可以扩展,但是不可以修改。

        无论模块是多么的“封闭”,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出选择。他必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。

        由于我们不会预测未来,所以在我们最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。

3、依赖倒转原则(Dependency Inversion Principle)

        定义:1、高层模块不应该依赖低层模块。两个都应该依赖抽象。

                   2、抽象不应该依赖细节,细节应该依赖抽象。

        为什么叫倒转?就是开发时,为了使得常用代码可以复用,一般都会把这些常用代码写成许多函数库,以便后面做新项目时,去调用这些底层的函数。这就叫做高层模块依赖低层模块。看起来没什么事,但是如果需要更换数据库或者存储信息方式,这时就会有问题。底层模块更换影响到高层模块,也会影响到其他模块。

4、里氏替换原则(Liskov Substitution Principle)

    定义:子类型必须能够替换掉他们的父类型。

    引用:详细解说

5、接口隔离原则(Interface Segregation Principle)

    定义:1、客户端不应该依赖它不需要的接口

               2、一个类对另一个类的依赖应该建立在最小的接口上。

    引用:详细解说

6、迪米特法则(Law of Demeter)又叫:最少知识原则

     定义:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。

      其根本思想是:强调类之间的松耦合。类之间的耦合越弱,越有利于复用,一个处在若耦合的类被修改,不会对有关系的类造成波及。

相关文章

  • 设计模式

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

  • 设计模式-六大原则

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

  • 设计模式六大原则

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

  • 设计模式6大原则

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

  • 设计原则之6大原则

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

  • 设计模式 - 六大原则

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

  • 面向对象六大原则

    设计模式的六大原则:(面向对象的六大原则) 一、单一职责原则:Single Responsibility Prin...

  • 无标题文章

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

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

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

  • 设计模式之代理模式(Proxy Pattern)

    设计模式中有六大原则和二十三设计模式。其中六大原则分别为:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口...

网友评论

    本文标题:第二篇 - 六大原则

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