C4架构

是什么

4代表4种不同的抽象层级,展示不同粒度的系统架构图

干什么

在业务架构确定情况下,可视化软件架构

哪四层

level1 Context diagram
level2 container diagram
level3 component diagram
level4 code

特点

  • 可读性强
  • 消除歧义
  • 简洁明了
  • 多角色看

图形

  • 单向线
  • 带有注释说明线的用途

Note

  • C4没有官方的图例
  • 蓝色表示内部系统,灰色表示外部系统

context diagram

  • 目标听众:非技术人员
  • 表征系统全局,没技术选型、协议等细节
  • 展示的是关注的系统本身,用户和其他依赖的系统
  • 变化缓慢
context diagram.png

container diagram

  • 加入一些技术选型
  • 不会体现用了什么库等细节
  • 如何识别container,是不是可以单独部署,两个container之间是否存在网络上的交互,或者多线程间的交互
  • container之间的依赖关系可以加上技术选型
  • 目标听众:技术人员
  • 对某个系统的放大
  • 展示容器之间如何交互
  • label加上技术选型
container diagram.png

component diagram

  • 具体到某一个服务中某一个container的一些实现,比如后端开发一个container对应不同的controller,具体对应到代码是在哪实现的。
  • 对某个容器的放大
  • 更细粒度的技术细节()
component diagram.png

code diagram

  • 比如涉及到哪些类或者接口
  • 一般很少画
  • 变化极快
code diagram.png

你可能感兴趣的:(C4架构)