【设计模式】设计原则 详解

shadowLogo

概述:


设计原则,在大体上总共分为 6种

分类:

  • 单一职责原则
  • 开闭原则
  • 里氏替换原则
  • 依赖注入原则
  • 接口分离原则
  • 迪米特原则

现在,本人就来介绍下这 6种 设计思想

单一职责 原则:

SRP(Single Responsibility Principle)


其实就是之前博文中所说的 “高内聚,低耦合
也就是说,每个类应该只有一个职责,对外只能提供一种功能
引起类变化的原因 应该 只有一个

(在设计模式中,所有的设计模式都遵循这一原则)


开闭 原则:

OCP(Open Closed Principle)


扩展 开放,对 修改 关闭
即:对类的改动是通过 增加代码 进行的,而 不是 修改现有代码


也就是说:
软件开发人员一旦写出了 可运行代码,就 不应该去 改动 它
而是要保证它能一直运行下去
那么,如何能够做到这一点呢?
这就需要借助于 抽象多态 的特性
即把 可能变化 的内容 抽象出来,
从而使抽象的部分相对稳定 的,而 具体的实现 则是 可以改变扩展


里氏替换 原则:

LSP(Liskov Substitution Principle)


在 任何父类出现的地方 都可以 用它的 子类替代


也就是说:
同一个继承体系中的对象 应该有 共同的 行为特征


依赖注入 原则:

DIP(Dependency Injection Principle)


依赖于 抽象不要依赖于 具体实现


也就是说:
在应用程序中,所有的类 如果 使用或依赖于 其他的类,则应该依赖 这些其他类的 抽象类,而 不是 这些其他类的 具体类
为了实现这一原则,就要求我们在编程的时候 针对 抽象类 或者 接口 编程, 而 不是 针对 具体实现 编程


接口分离 原则:

ISP(Interface SeparationPrinciple)


不应该 强迫程序 依赖它们 不需要使用的方法


也就是说:
一个接口不需要提供 太多的行为
一个接口应该 只提供一种对外的功能不应该把 所有的操作封装到一个接口中


迪米特 原则(最少知道 原则):

LoD(Law of Demeter)


一个对象 应当对 其他对象 尽可能少 地了解


也就是说:
降低 各个对象之间耦合提高系统的可维护性
在模块之间应该 只通过 接口编程,而不理会 模块的内部工作原理
它可以使 各个模块耦合度 降到最低,促进 代码复用

posted @ 2021-05-10 14:52  在下右转,有何贵干  阅读(83)  评论(0)    收藏  举报