资讯专栏INFORMATION COLUMN

设计模式原则

gaosboy / 348人阅读

摘要:单一职责原则定义每个类都应该实现单一的职责,即有且只有一个原因引起类的变更。合成复用原则定义尽量首先使用合成聚合的方式,而不是使用继承。开闭原则定义软件实体应该对扩展开放,对修改关闭。

单一职责原则(Single Responsibility Principle)

1.定义
    There should never be more than one reason for a class to change.
    每个类都应该实现单一的职责,即有且只有一个原因引起类的变更。
2.优点
    类的复杂性降低,可读性提高,维护性提高。变更引起的风险降低。

里氏替换原则(Liskov Substitution Principle)

1.定义1
    If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2 then S is a subtype of T. 
    如果对每一个类型为S的对象o1,都有一个类型为T的对象o2,使得以T定义的所有程序P,在所有的对象o1都转换为o2时,程序P的行为没有发生变化,那么类型S就是类型T的子类型。
2.定义2
    functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it. 
    所有引用基类的地方必须能透明的使用其子类的对象。
3.优点
    加强程序的健壮性,升级时的兼容性。

依赖倒转原则(Dependence Inversion Principle)

1.定义
    High level modules should not depend upon low level modules,Both should depend upon abstractions.Abstractions should not depend upon details.Details should depend upon abstracts.
    高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。

接口隔离原则(Interface Segregation Principle)

1.定义1
    Clients should not be forced to depend upon interfaces that they don"t use. 
    客户端不应该依赖它不需用的接口。
2.定义2
    The dependency of one class to another one should depend on the smallest possible interface.
    类间的依赖关系应该建立在最小的接口上。

迪米特法则(Low Of Demeter)

1.定义1
    Least Knowledge Principle.
    一个对象应该对其他对象有最少的了解。
2.定义2
    Only talk to your immedate friends.
    只和直接的朋友通信。

合成复用原则(Composite Reuse Principle)

1.定义
    Composite/Aggregate Reuse Principle (CARP).
    尽量首先使用合成/聚合的方式,而不是使用继承。

开闭原则

1.定义
     Software entities like classes, modules and functions should be open for extension but closed for modifications. 
     软件实体应该对扩展开放,对修改关闭。
2.优点
   提高复用性,提高可维护性。 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71111.html

相关文章

  • 设计模式7大原则

    摘要:在面向对象设计中,可维护性的复用是以设计原则为基础的。面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则。 面向对象设计原则 概述 对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,...

    ky0ncheng 评论0 收藏0
  • Java设计模式-六大原则

    摘要:依赖倒置原则是个设计原则中最难以实现的原则,它是实现开闭原则的重要途径,依赖倒置原则没有实现,就别想实现对扩展开放,对修改关闭。 1、单一职能原则(Single Responsibility Principle, SRP) 定义 There should never be more than one reason for a class to change.应该有且仅有一个原因引起类的...

    molyzzx 评论0 收藏0
  • 设计模式六大原则(PHP)

    摘要:常用的六大设计模式有单一职责原则,里氏替换原则,依赖倒转原则,接口隔离原则,迪米特法则,开闭原则。这六大原则是最虚,最抽象的,很难理解。这就是接口隔离原则。当我们遵循前面介绍的五大原则,以及使用种设计模式的目的就是遵循开闭原则。   设计模式的目的是为了更好的代码重用性,可读性,可靠性和可维护性。常用的六大设计模式有:单一职责原则(SRP),里氏替换原则(LSP),依赖倒转原则(DIP...

    bluesky 评论0 收藏0
  • JAVA六大设计原则

    摘要:设计模式提供六个基本原则,分别是开闭原则单一职责原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则开闭原则对扩展开放,对修改关闭。总结六大设计原则是代码设计的基本原则。 JAVA设计模式提供六个基本原则,分别是: 开闭原则(OCP) - The Open-Closed Principle 单一职责原则(SRP) - Single Responsibility Principle 里氏...

    Betta 评论0 收藏0
  • 开篇:二十三种设计模式的通俗理解

    摘要:里氏替换原则里氏代换原则面向对象设计的基本原则之一。里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。里氏代换原则是对开闭原则的补充。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。 showImg(https://segmentfault.com/img/bVbuXAu?w=640&h=361); 本文为本次系列文章的第一篇,接下...

    morgan 评论0 收藏0
  • Java设计模式七大原则

    摘要:单一职责原则开闭原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则组合聚合复用原则单一职责原则高内聚低耦合定义不要存在多于一个导致类变更的原因。建议接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。使用继承时遵循里氏替换原则。 单一职责原则 开闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 组合/聚合复用原则 单一职责原则(Single Responsi...

    Olivia 评论0 收藏0

发表评论

0条评论

gaosboy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<