1. 组件拆分核心原则:单一职责、高内聚低耦合、关注点分离、接口隔离

组件边界划分是架构设计的核心决策。四个经典原则——单一职责、高内聚低耦合、关注点分离、接口隔离——构成了划分边界的判定准则。本章从架构师视角,逐一解析每个原则在边界识别、模块职责、依赖关系上的具体应用,并给出权衡清单。

1.1 单一职责原则(SRP)

每个组件只应因一个原因而改变。拆分时,将变化的维度作为边界线:业务逻辑、持久化、通信、配置等各自独立。判定标准:如果一个组件承载了不同业务角色的变更诉求,则违反 SRP。

1.2 高内聚低耦合

组件内部元素紧密协作(高内聚),组件之间通过最小接口通信(低耦合)。内聚度可用“模块内部功能的相关性”衡量;耦合度用“组件间依赖数量和依赖方向”衡量。

1.3 关注点分离(SoC)

横切关注点(日志、鉴权、事务)与业务逻辑分离,形成独立的基础设施组件。分层架构中,每一层只处理自己的关注点。

1.4 接口隔离原则(ISP)

客户端不应依赖它不需要的方法。组件对外暴露的接口应细化到最小必要集合,避免胖接口导致不必要的依赖。

原则核心理念边界判定标准常见反例
SRP一个变化原因是否因不同角色需求而修改?"超级工具类"包含日志与业务
高内聚低耦合内部紧密,外部松散模块内功能是否相关?依赖个数≤3?循环依赖、上帝类
SoC横切与业务分离是否有统一抽象层处理通用逻辑?业务逻辑中嵌入SQL
ISP最小接口调用方是否用到了全部接口方法?一个接口20个方法,客户端只用到2个
实践提示: 在大型项目中优先应用 SRP 和 SoC,它们对长期维护影响最大。高内聚和 ISP 可在代码审查阶段强化。
常见陷阱: 过度遵循单一职责导致组件粒度过细,引发"微服务灾难"。建议以"业务变更频率"为辅助指标,相同频率归属同一组件。
组件边界决策流程:四个原则作为过滤器 业务需求/功能列表 单一职责 高内聚低耦合 关注点分离 接口隔离 组件边界定义

以上四个原则并非孤立,而是相互叠加:SRP 帮助识别变化轴,SoC 帮助分离关注点,高内聚低耦合和 ISP 分别从内部和外部确保边界清晰。实践中,任何组件边界候选都应当接受这四个原则的审查。