Python 进阶 — OOP 设计原则

举报
云物互联 发表于 2022/02/15 00:26:00 2022/02/15
【摘要】 目录 文章目录 目录1、开放/封闭原则(Open Close Principle)2、依赖反转原则(Dependence Inversion Principle)3、接口隔离原则(Interfa...

目录

1、开放/封闭原则(Open Close Principle)

开放/封闭原则,类和对象及其方法对于扩展来说,是开放的;对于修改来说,是要封闭的。

  1. 现有的类不会被修改,因此退化的可能性较小。
  2. 有助于保持以前代码的向后兼容性。

2、依赖反转原则(Dependence Inversion Principle)

依赖反转原则,高层级的模块不应该依赖于低层级的模块,它们应该依赖于抽象(接口)。任何两个模块都不应以紧密的方式相互依赖。

  1. 消弱了模块间的紧耦合,因此消除了系统中的复杂性。
  2. 由于依赖模块之间有一个明确的抽象层(由接口、或钩子提供),因此便于通过更好的方式处理模块之间的依赖关系。

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

接口隔离原则,客户端不应该依赖于它们不需要使用的接口。

  1. 它强制开发人员编写瘦身型接口,并使方法与接口紧密无关。
  2. 防止向接口中随意填写方法。

4、单一职责原则

单一职责原则,类的职责单一,引起类变化的原因单一。

  1. 每当一个功能发生变化时,除了特定类需要改变外,其他类无需变动。
  2. 如果一个类有多种功能,那么依赖它的类必定会由于多种原因而经历多次修改,这是应该避免的。

5、合成复用原则(Composite Reuse Principle)

尽量使用合成/聚合(组合)的方式,而不是使用继承。

继承实际上破坏了类的封装性,超类的方法可能会被子类修改。

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

只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

7、迪米特法则(Demeter Principle)

一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。

原文链接:is-cloud.blog.csdn.net/article/details/122916029

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。