美文网首页
【一篇就够】【设计模式六大原则】

【一篇就够】【设计模式六大原则】

作者: 三途河花 | 来源:发表于2023-04-24 22:49 被阅读0次


单一职责

定义

应该有且仅有一个原因引起类的变更。

详细描述

接口的职责在设计时应该做到单一,降低类的复杂性,实现的职责都有明确的定义,提高了可读性、可维护性、可扩展性;

变更引起的风险降低,如果接口隔离性做的好,一个接口的修改只对相应实现类有影响,对其它接口没有影响,降低了耦合性。

(单一职责提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口或类设计的是否优良,但是“职责”或“变化原因”都是不可度量的,因项目而异,因环境而异)

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

定义

是面向对象设计的基本原则之一,只要父类能出现的地方子类就能出现,而且替换为子类也不会产生任何错误或异常。

详细描述

LSP原则是继承复用的基石,只有当子类能够替换掉父类,软件单位功能不受影响时,父类才能被真正复用。LSP原则是对开闭原则的补充,实现开闭原则的关键步骤就是抽象化,而父类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

子类必须完全实现父类的方法

子类可以有自己的个性

子类可以有自己的个性

子类可以有自己的个性

优点

代码共享,减少创建类的工作量

提高代码的重用性

子类可以形似父类,但又异于父类

提高代码的可扩展性

提高产品或项目的开放性

缺点

继承是侵入性的,只要继承就必须拥有父类的所有属性和方法

降低代码的灵活性

增强了耦合性,父类的常量、变量、方法被修改时,要考虑到子类的修改,在缺乏规范的环境下,可能有许多代码需要重构。

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

定义

高层模块不应该依赖低层模块,两者都应该依赖其抽象,抽象不应该依赖细节,细节应该依赖抽象

面向接口编程(Object-Oriented Design, OOD)

优点

依赖倒置原则可以降低类间的耦合性;

依赖倒置原则可以提高系统的稳定性;

依赖倒置原则可以减少并行开发引起的风险;

依赖倒置原则可以提高代码的可读性和可维护性;

接口隔离原则

定义

使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

详细描述

接口仅仅提供客户端需要的行为,客户端不需要的行为则隐藏起来,应当为客户端提供尽可能小的接口,而不要提供大的总接口

迪米特法则(Low of Demeter ,LoD)又称最少知识原则

定义

一个软件实体应当尽可能少的与其他实体发生相互作用。

详细描述

应该尽量减少对象之间的交互,如果两个对象不必直接通信,那么这两个对象就不应该发生任何直接的相互作用,如果其中一个对象需要调用另外一个对象的某个方法时,可以通过第三者转发这个调用。就是通过引入一个合理的第三者来降低先有对象之间的耦合度。

开闭原则

定义

对扩展开放,对修改关闭

详细描述

开闭原则(Open Closed Principle)是编程中最基础、最重要设计原则

一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。

一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。

编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。

相关文章

  • 设计模式

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

  • 设计模式-六大原则

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

  • 设计模式六大原则

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

  • 设计模式6大原则

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

  • 设计原则之6大原则

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

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

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

  • 设计模式 - 六大原则

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

  • 无标题文章

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

  • 设计模式六大原则

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

  • Mr.Li--python-Linux-设计模式

    设计模式: 设计模式六大原则(1): 单一职责原则:一个类只负责一项职责 设计模式六大原则(2): 里氏替换原则:...

网友评论

      本文标题:【一篇就够】【设计模式六大原则】

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