内聚:为什么属于同一件事的工作应该放在一起?

内聚:为什么属于同一件事的工作应该放在一起?

内聚描述一个部分内部的内容是否围绕同一件事。内聚高,不是内容少,而是每项职责彼此有清楚的共同理由;内聚低,则常把只是碰巧放在一起的工作塞进同一处。

例如,一个记账应用的“发票模块”若同时负责计算金额、绘制按钮和发送营销邮件,改促销文案也可能触动开票逻辑。把模块收束到发票的生成与状态管理,界面和营销分别归位,变化的边界就更清楚。

内聚与耦合不同:内聚问一个部分内部是否属于同一职责,耦合问不同部分彼此依赖多深。好的结构通常追求高内聚、低耦合,但“相关”不等于“都放一起”。判断标准应是这些内容是否常因同一个理由改变。内聚的价值,是让一个部分能够用一句稳定的话说明自己负责什么。


了解 Geoffrey Chen 的更多信息

订阅后即可通过电子邮件收到最新文章。