首页/开发/系统分析与架构设计速查/关注点分离(Separation of Concerns)
架构风格与模式58 条

关注点分离(Separation of Concerns)

把系统按不同关注点(业务规则、持久化、展示、安全等)划分,使各部分可独立理解与修改;它是分层、模块化、AOP 等方法的共同基础。

提出Edsger Dijkstra 在结构化编程中提出相关思想(1974)
落地手段分层、模块化、横切关注点抽离(AOP、中间件)
检验修改某关注点时,影响范围是否收敛在少数模块

关注点与常见承载

关注点承载方式
业务规则领域模型与用例
持久化仓储与 ORM 映射
展示视图模板与 DTO
安全过滤器、中间件与策略
可观测埋点、日志与追踪切面
关注点分离是手段而非目的:分离带来的接口与协调成本要小于它降低的理解成本。

易错点

  • 按技术层分离却把同一业务规则拆到多个层,改动仍需全链路联调
  • 过度分离导致调用链与样板代码膨胀

数据来源与参考

  • Edsger Dijkstra《On the Role of Scientific Thought》(1974)
  • 《软件架构:架构模式、特征及实践指南》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌