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

目录

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

定义

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

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

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

作用及影响

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

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

示例

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

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

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

相关推荐
nnsix13 天前
Unity 动态批处理、静态批处理、GPU Instaning、SRP Batcher 笔记
笔记·unity·单一职责原则
折哥的程序人生 · 物流技术专研15 天前
Java 23 种设计模式:从踩坑到精通 | 适配器模式 —— 让不兼容的接口也能一起工作
java·设计模式·面试·适配器模式·单一职责原则
晚风予卿云月15 天前
【Java】单一职责原则
单一职责原则
折哥的程序人生 · 物流技术专研19 天前
Java 23 种设计模式:从踩坑到精通 | 原型模式 —— 克隆对象,深拷贝与浅拷贝的坑你踩过吗?
java·设计模式·架构·原型模式·单一职责原则
折哥的程序人生 · 物流技术专研20 天前
【电商多平台电子面单对接实战|第二篇】抖音代发电子面单对接:从“面条代码”到整洁架构的涅槃之路
设计模式·架构·系统架构·单元测试·代码规范·单一职责原则
我不是懒洋洋2 个月前
自动化构建工具:make与Makefile从入门到精通
简单工厂模式·接口隔离原则·依赖倒置原则·合成复用原则·单一职责原则
CPUOS20102 个月前
嵌入式C语言高级编程之单一职责原则
c语言·开发语言·单一职责原则
mxwin3 个月前
Unity URP SRP Batcher 完全指南 URP/HDRP 下的核心批处理机制,大幅降低 CPU 开销
unity·游戏引擎·shader·单一职责原则
mxwin3 个月前
Unity Shader SRP深入理解内置渲染管线与 URP/HDRP 的底层架构差异
unity·游戏引擎·单一职责原则
普通网友3 个月前
十大秘闻:揭秘霍兰德职业兴趣理论的未知面!
职场和发展·求职招聘·职场发展·单一职责原则