首页/开发/系统分析与架构设计速查/C4 模型(Context/Container/Component/Code)
需求分析与建模61 条

C4 模型(Context/Container/Component/Code)

按抽象层级递进描述软件架构:上下文层看系统与外部关系,容器层看可独立运行单元,组件层看容器内部划分,代码层按需展开,服务不同读者。

层级

层级描述对象主要读者
L1 上下文系统与用户、外部系统的关系业务与非技术干系人
L2 容器应用、数据存储、消息中间件技术人员与运维
L3 组件容器内的模块与职责开发人员
L4 代码类与接口细节实现者(通常由工具生成)
C4 强调“每张图只服务一类读者”;配套工具 Structurizr 用代码描述模型并生成多视图。

易错点

  • 把所有层级画在一张图上,观众被迫同时理解多个抽象层
  • 图中元素命名与代码/部署单元不一致,跟踪困难

数据来源与参考

  • Simon Brown《The C4 model for visualising software architecture》(c4model.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌