面向对象设计原则之单一职责原则

目录

面向对象设计原则之开-闭原则
面向对象设计原则之里式替换原则
面向对象设计原则之依赖倒置原则
面向对象设计原则之单一职责原则

定义

单一职责原则 / 单一功能原则 (Single Responsibility Principle,SRP), 规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分。

原始定义:There should never be more than one reason for a class to change。

即:一个类应该只关心一种事情,解决一种问题。

作用及影响

如果代码不满足这个原则, 并不会导致大面积的代码重写, 只不过:

  • 一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力;
  • 当客户端需要该对象的某一个职责时,不得不将其他不需要的职责全都包含进来,从而造成冗余代码或代码的浪费。

示例

一个工具类中包含多种工具方法,如果其中一个功能修改,此类就要进行修改。

我们可以进行修改,拆分成多个工具类,每个工具类中只关心一种类型的工具方法。

注意:单一职责同样也适用于方法。一个方法应该尽可能做好一件事情。如果一个方法处理的事情太多,其颗粒度会变得很粗,不利于重用。

相关推荐
CPUOS20105 天前
嵌入式C语言高级编程之单一职责原则
c语言·开发语言·单一职责原则
mxwin21 天前
Unity URP SRP Batcher 完全指南 URP/HDRP 下的核心批处理机制,大幅降低 CPU 开销
unity·游戏引擎·shader·单一职责原则
mxwin1 个月前
Unity Shader SRP深入理解内置渲染管线与 URP/HDRP 的底层架构差异
unity·游戏引擎·单一职责原则
普通网友1 个月前
十大秘闻:揭秘霍兰德职业兴趣理论的未知面!
职场和发展·求职招聘·职场发展·单一职责原则
QUFridIM2 个月前
动力电池充电系统设计(mtalab仿真+proteus仿真+英文文献+PPT+详细过程说明书)...
单一职责原则
BD_Marathon3 个月前
设计模式——单一职责原则
设计模式·单一职责原则
HL_风神4 个月前
设计原则之单一职责原则
c++·学习·设计模式·单一职责原则
ttod_qzstudio4 个月前
理解单一职责原则:通过接口分离职责(基于TypeScript严格模式)
typescript·单一职责原则
添加shujuqudong1如果未回复5 个月前
单相全桥逆变电路MATLAB仿真及硬件设计指南
单一职责原则
询问QQ:276998855 个月前
DP节能动态规划与电机模型Carsim联合仿真验证之旅
单一职责原则