C4模型

定义

C4 代表上下文(Context)、容器(Container)、组件(Component)和代码(Code)

这个模型产生的目的是为了解决在交流架构的时候没有一个简单标准的语言,就像领域模型中的沟通用的“通用语言”。

其中组建和代码,与UML中的组建图和类图很相近,四个维度从系统层次到具体的代码层次来描述一个架构,或者一个方案。

第 1 层是系统上下文图,它显示了你正在构建的软件系统,以及系统与用户及其他软件系统之间的关系。

是描述系统之间、系统与用户之间的关系。

第 2 层是一个容器图,将软件系统放大,显示组成该软件系统的容器(应用程序、数据存储、微服务等)。技术决策也是该图的关键部分。

这里也有“容器”的概念,与docker这种容器的概念有写类似,可以简单理解为一个单独的进程。

缺点

自己的性质决定的,语义有些简单,很多复杂的场景并不能表述。但是对于“即时交流”已经足够,也是这个C4的最大的意义。

参考

用于软件架构的 C4 模型
c4model

Table of Contents