我已经开始研究诸如凝聚力之类的概念和诸如单一责任原则之类的原理。我对他们之间的差异感到非常困惑。
网络上有很多信息,但是我发现很难筛选出正确的比较结果。
凝聚力和单一责任之间有什么关系? 一个班级可能只负责一个责任而凝聚力低吗?
答案 0 :(得分:1)
例如,如果一个类的实例变量或属性仅由其方法及其方法使用全部,但是这些方法也不使用任何外部数据或其他对象的方法,则该类为据说具有很高的凝聚力。但是,如果该类正巧正在从文件中读取和写入,则该类可以视为不遵守单一职责原则,因为读取和写入可以看作是两个非常不同的任务。无论如何,您还可以看到该类的主要任务是“使用文件系统执行IO操作”,因此SRP在某种程度上可以接受解释,具体取决于所应用的上下文。
答案 1 :(得分:0)