如何画出一张优秀的架构图(老鸟必备)
- URL: https://mp.weixin.qq.com/s/-HZQaKkh94U9bozf0jKj-A
- Date Saved: 2026-08-02
- Source: WeChat 微信公众号 (阿里巴巴中间件)
- Tags: dev-tools, productivity
Summary
阿里巴巴技术专家「三画」分享的架构图方法论,推荐使用 C4 模型来画清晰的架构图。
核心理念
- 画图前先明确:受众是谁?要传递什么信息?
- 好的架构图是自描述的,不需要额外解释
- 不要为了画某种视图而画,应根据受众和目的选择
4+1 视图分类
- 场景视图 — 参与者与功能用例关系(用例图)
- 逻辑视图 — 软件功能拆解后的组件关系(组件图/类图)
- 物理视图 — 软件到硬件的映射(部署图)
- 处理流程视图 — 组件间通信时序(时序图/流程图)
- 开发视图 — 模块划分和包组成
C4 模型(推荐方法)
Level 1: 语境图 (System Context Diagram)
- 受众:内部/外部技术或非技术人员
- 内容:系统本身 + 用户 + 周边交互系统
- 回答:建什么?谁用?如何融入现有IT环境?
Level 2: 容器图 (Container Diagram)
- 受众:开发人员、运维人员
- 内容:系统内的应用、数据库、微服务及其交互
- 回答:整体形态、技术决策、职责分布、在哪写代码
Level 3: 组件图 (Component Diagram)
- 受众:内部开发人员
- 内容:某个容器内部的模块组成
- 回答:由哪些组件组成、依赖关系、如何分解交付
Level 4: 类图 (Code/Class Diagram)
- 受众:技术人员
- 内容:代码级别的类关系
常见问题
- 方框/圆形/线条没有统一含义 → 引起混淆
- 运行时与编译时概念混在一张图 → 语义混乱
- 图不分层级,一张图塞所有信息 → 无法理解
参考
- C4 官网:https://c4model.com/
- 书籍:《程序员必读之软件架构》