【发布时间】:2019-08-26 01:45:12
【问题描述】:
互联网上有很多关于 SRP 的混淆。
SRP 是否需要:
- 类/函数应该做一项工作?
- 类/函数应该只有一个改变的理由(我们没有 不在乎我们的班级正在执行多少工作,至少当我们 考虑 SRP)
例如。
假设我们有一个类执行大量工作/作业(我知道这很糟糕,我们不应该把所有东西都放在一个类中)
另外,我们假设这个类服务于一个特性,而这个特性只有一个改变的原因,即改变的原因只能来自一个参与者(例如我们的 CTO)
此代码是否仍适用于 SRP?
另外引用Clean Architecture by Robert C. Martin
SOLID 原则、单一职责原则 (SRP) 可能 是最不被理解的。这可能是因为它有一个 特别不恰当的名字。程序员太容易了 听到这个名字,然后假设它意味着每个模块都应该 只做一件事。
别搞错了,有这样的原则。一个函数应该做 一件,也是唯一一件。我们在重构时使用该原则 大功能变成小功能;我们在最低级别使用它。 但这不是 SOLID 原则之一——它不是 SRP。
【问题讨论】:
标签: solid-principles