内聚与耦合的区别:衡量设计质量的两把尺
副标题 / 摘要 内聚关注“模块内部是否紧密相关”,耦合关注“模块之间是否依赖过多”。本文给出区别与改进方法。 目标读者 需要评估设计质量的工程师 负责重构与模块划分的开发者 做架构与代码评审的团队 背景 / 动机 很多系统难维护的原因不是“功能太多”,而是模块内聚低、耦合高。 理解内聚与耦合,是设计优化的基础。 核心概念 内聚(Cohesion):模块内部的相关性 耦合(Coupling):模块之间的依赖程度 高内聚、低耦合:可维护性最佳 实践指南 / 步骤 识别“职责过多”的模块 拆分低内聚模块 减少跨模块直接依赖 用接口隔离依赖 引入依赖注入 可运行示例 # 低内聚示例:一个类做太多事 class OrderManager: def calculate(self): pass def save(self): pass def send_email(self): pass # 改进:拆分职责 class OrderCalculator: def calculate(self): pass class OrderRepository: def save(self): pass class OrderNotifier: def send_email(self): pass 解释与原理 内聚高意味着模块职责单一、变化集中; 耦合低意味着模块之间依赖少、替换成本低。 常见问题与注意事项 模块越小内聚就越高吗? 不一定,小但职责混杂仍然低内聚。 完全无耦合可能吗? 不可能,关键是控制依赖方向与数量。 怎么衡量? 看模块修改是否牵连多处。 最佳实践与建议 一个模块只解决一个问题 把依赖集中到边界层 用接口隔离变化 小结 / 结论 内聚与耦合是判断设计质量的核心指标。 高内聚、低耦合是长期可维护系统的基础。 ...