GRASP之高凝聚模式 - Kamil Grzybek

19-09-05 banq
                   

问题:如何保持对象集中,易于理解,易于管理以及作为副作用支持低耦合?

解决方案:分配责任,以保持凝聚力。用凝聚力大小来作为分配职责的判断标准。

凝聚力衡量元素的所有责任的相关程度。换句话说,元素内部的部分在一起的程度是多少。

具有低内聚力的类具有不相关的数据和/或不相关的行为。例如,Customer类具有高内聚性,因为现在它只做一件事 - 管理 订单。如果我在这个类Customer加入产品价格责任,这个类的凝聚力会显着下降,因为价格表与Customer客户本身没有直接关系。