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

概述:
设计原则,在大体上总共分为 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)
一个对象 应当对 其他对象 尽可能少 地了解
也就是说:
降低 各个对象之间 的 耦合,提高系统的可维护性
在模块之间应该 只通过接口编程,而不理会 模块的内部工作原理,
它可以使 各个模块耦合度 降到最低,促进 代码复用

浙公网安备 33010602011771号