单一责任原则是否与类的依赖关系直接相关?



如果一个类通过接口依赖于多个其他类,这是否违反了SRP,或者只有当两个接口都被期望更改时才违反,或者这是完全错误的思路?

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

一个类可以有一个单一的职责,但是如果这个职责执行起来很复杂,那么它可能有很多依赖于"分包商"来处理这些琐碎的工作。从本质上讲,你唯一的职责就是"协调这些人,让X发生"。

不一定。一个类仍然可以有一个职责,但是有多个依赖项。拥有多个依赖关系通常是一个迹象表明一个类做得太多了,但这并不是证据

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

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

最新更新