我正在推迟一位同事的设计,并且想知道在这种情况下谁的SRP应用是正确的。单一责任原则(SRP)在何种抽象层次上不再有意义?
我看到SRP主要与较低层次的设计细节有关,例如阶级责任。随着抽象层次的提升,我认为SRP仍然是相关的,但是单一责任的定义必然也会向更高的抽象层次发展。
在我的具体情况中,“处理foos,存储结果并提供对这些结果的访问权限”的服务具有“foo处理子系统”的单一责任,但是一位同事不同意并将其视为2-3个独立的职责。我的情况是,如果你总是将单一责任分解为细节,那么拥有“银行”是SRP的违规行为,因为它“持有资金,维护账户,出售抵押贷款......”。
看到这个问题,它的答案是:http://stackoverflow.com/questions/2455705/how-do-you-determine-how-coarse-or-fine-grained-a-responsibility-should-be-when – User 2011-07-23 00:18:55