2

如果一个类通过接口依赖于多个其他类,是否违反了 SRP,或者如果预计两个接口都会更改,这是否只是违反,或者这完全是错误的思路?

4

3 回答 3

6

SRP 原则上与类可能具有的依赖关系和依赖关系完全正交。

一个类可以有一个单一的职责,但如果该职责执行起来很复杂,它可能对负责这些琐碎工作的“分包商”有很多依赖。从本质上讲,您的唯一职责是“协调这些人,使 X 发生”。

于 2013-03-01T14:29:59.353 回答
0

不必要。一个类仍然可以有一个职责,但有多个依赖项。拥有多个依赖项通常表明一个类做了很多事情,但这并不能证明这一点。

于 2013-03-01T14:31:05.753 回答
0

如果该类只是调用那些依赖接口上的方法,那不会违反 SRP,因为它正在编排一个在不同组件上调用不同方法的进程,这就是责任。

如果没有特定的上下文,很难提供准确的答案,但简而言之:具有多个接口的依赖关系本身并不违反 SRP。

于 2013-03-01T14:31:18.323 回答