美文网首页
OPP七大设计原则

OPP七大设计原则

作者: YuKalix | 来源:发表于2021-01-13 22:00 被阅读0次

一、单一职责原则(Single Responsiblity Principle, SRP)

一个类负责一项职责
一个类只做一件事

二、开闭原则(Open Closed Principle, OCP)

一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。在程序需要拓展的时候,不能去修改原有的代码
使用接口和抽象类

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

继承与派生的规则(子类可替换父类),子类可以做父类做的事
衍生类能够在基类的基础上增加新的行为
对开闭原则的补充

四、依赖倒转原则(Dependency Inversion Principle, DIP)

高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。即针对接口编程,不要针对实现编程。
依赖倒转的核心思想是:面向接口编程

造汽车举例子:
  假如,造汽车的第一步是:造车轮
  第二步是:根据车轮的大小造车底
  第三步是:根据车底的大小造车身
  最后一步是:根据车身的大小造出汽车。
  那么这个过程中的依赖关系是:汽车依赖于车身的设计,车身依赖于车底的设计,车底依赖于车轮的设计。
  各部分“零件”都互相依赖着,最后也能够把汽车组装成功.然而动一处牵其全身.

正确的方式:
首先,要创建四个接口,分别是,轮子,车底,车身,汽车。这四个接口里各自约定一些方法,比如说轮子的接口中,写一个带参的轮子尺寸方法。然后比如造汽车,造的是小轿车轮子的话,那么写一个实现这个接口的实现类,类名是小轿车车轮。要是现在突然又有新的需求,要造卡车轮子,那再写一个实现类来实现这个车轮的接口即可,其实这里用到了一个其他的原则(开闭原则:对修改关闭,对扩展开放),接口中的方法呢,是之前约定好的东西,是不允许修改的
接口的存在最主要的目的就是为了便于扩展、和维护。
依赖倒转原则是针对接口的,高层模块和底层模块都是依赖于抽象(接口)的。

五、接口隔离原则(Interface Segregation Principle, ISP)

建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。
move()
walk()
run()

六、组合/聚合复用原则(Composite/Aggregate Reuse Principle, CARP)

尽量使用组合和聚合少使用继承的关系来达到复用的原则。

# 推荐方式
move():
  walk()
  run()
# 不建议使用继承方式
class move:
    pass

class walk(move):
    pass

class run(move):
    pass

七、最小知识原则(迪米特法则)(Principle of Least Knowledge, PLK)

一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立
高内聚,低耦合(high cohesion low coupling)。

相关文章

  • Python设计模式

    Python Design Pattern 一、OPP七大设计原则 1.单一职责原则(Single Respons...

  • OPP七大设计原则

    一、单一职责原则(Single Responsiblity Principle, SRP) 一个类负责一项职责一个...

  • 01-25.Python设计模式及应用场景(第九天: 组合模式)

    OPP七大设计原则[https://www.jianshu.com/p/c5087d9c80f8] 阅读提示: 常...

  • 七大原则 / 24种设计模式

    七大原则,24种设计模式七大设计原则:1、单一职责原则【SINGLE RESPONSIBILITY PRINCIP...

  • 面向对象的七大设计原则

    面向对象的七大设计原则文章目录面向对象的七大设计原则简述七大原则之间的关系一、开闭原则(The Open-Clos...

  • 设计模式 - 七大设计原则(一)

    设计模式 - 七大设计原则(一) 概述 简单介绍一下七大设计原则:开闭原则:是所有面向对象设计的核心,对扩展开放,...

  • 设计模式七大原则

    面向对象七大设计原则,以及使用到这些原则的设计模式 1.合成/聚合复用原则(CARP) (有些地方,不将其列入设计...

  • 1 设计模式的简介

    1 设计模式的七大原则 1.1 开闭原则 A: 定义: 开闭原则(Open Closed Principle,OC...

  • OOP程序设计规则

    开闭原则(Open-Closed Principle,OCP) 开闭原则是这七大设计原则中最常见、最基本的开闭原则...

  • 设计模式

    设计模式七大基本原则 开闭原则(Open Closed Principle,OCP)单一职责原则(Single R...

网友评论

      本文标题:OPP七大设计原则

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