内聚性(cohesion)定义为:一个模块的组成元素之间的功能相关性。
SRP是指:就一个类而言,应该仅有一个引起它变化的原因。
在SRP中我们把职责定义为“变化的原因”(a reson for change),如果你能够想到多于一个的动机去改变一个类,那么这个类就有多于一个的职责。
变化的轴线仅当变化实际发生时才具有真正的意义。如果没有征兆,那么去应用SRP,或者任何其他原则都是不明智的。
SRP是最简单但也可能是需要考虑最多的原则,在进行程序模块的设计和分析时,我们在潜规则中就需要遵守SRP。