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

时间:2013-03-01 14:26:40

标签: c# single-responsibility-principle

如果一个类依赖于多个其他类的接口是违反SRP的,或者只是在两个接口都发生变化时只是违规,或者这完全是错误的想法?

3 个答案:

答案 0 :(得分:6)

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

一个班级可以承担单一的责任,但如果履行这一责任很复杂,那么它可能会对处理卑微工作的“分包商”产生很多依赖关系。从本质上讲,你的唯一责任是“协调这些人,以便X发生”。

答案 1 :(得分:0)

不一定。一个类仍然可以有一个责任但有多个依赖项。拥有多个依赖项通常是一个符号,类正在做很多事情,但它不是证明

答案 2 :(得分:0)

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

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