内聚性:一个模块组成元素之间的功能及相关性。
类中通常包括多个职责,每个职责都是变化的轴线,当需求发生变化是,必然引起类的职责的变化。如果一个类承担了多余一个职责。那么引起它变化的原因就会有多个。
就一个类而言应该只有一个引起它变化的原因。
如果一个类包含过多的职责,就等于这些职责耦合在一起。如果一个职责的变化的可能会虚弱移植这个类完成其它职责的能力。这种耦合导致脆弱的设计。当职责变化发生时,设计很可能会找到意想不到的破坏。
对于两个相关性很少且会经常变化的职责不应放到一个类中。
软件设计真正要做的许多内容就是发现职责并把这些职责互相分离。