-
C4
分层架构模型概述
7
目
录
一、
概述
.......................................
..................................................
......... 3
1.
第
1
层:系统上下文
.......
..................................................
........... 3
2.
第
2
层:容器
............
..................................................
................. 4
3.
第
3
层:组件
............
..................................................
................. 5
4.
第
4
层:代码
............
..................................................
................. 6
二、
符号
..............
..................................................
.................................. 7
三、
结语
.......................................
..................................................
......... 8
7
一、
概述
含糊不清的软件架构图容易导致
误解,这可能会拖慢一个优秀团队的前进步伐。在我们的行业
中,我们真的应该努力创建
出更好的软件架构图。多年来,我自己参与软件开发,并与世界各
地的团队合作,基于这
些经验,我建立了一个称之为“
C4
模型”的东西。
C4
代表上下文
p>
(
Context
)、容器(
Container
)、组件(
Component
)和代码(
Code
)——一系列分层
的
图表,可以用这些图表来描述不同缩放级别的软件架构,每种图表都适用于不同的受众
。可以
将其视为代码的谷歌地图。
要
为你的代码创建地图,首先需要一组通用的抽象来创建一种无处不在的语言,用来描述软件
系统的静态结构。
C4
模型使用容器(应用程序、数据存储
、微服务等)、组件和代码来描述
一个软件系统的静态结构。它还考虑到使用软件系统的
人。
1.
第
1
层:系统上下文
7
第
1
层是
系统上下文图,它显示了你正在构建的软件系统,以及系统与用户及其他软件系统
之间的
关系。以下是一个系统上下文图的示例,描述了一个互联网银行系统的系统上下文:
银行的个人客户使用互联网银行系统查看有关银行账户的信息
并进行支付。互联网银行系统使
用银行现有的大型机银行系统来执行此操作,并使用银行
现有的电子邮件系统向客户发送电子
邮件。图中的颜色表示哪些软件系统已经存在(灰色
)以及待构建的系统(蓝色)。
2.
第
2
层:容器
第
2
层是一个容器图,
将软件系统放大
,
显示组成该软件系统的容器
(应用程序、
数据存储、
微服务等)。技术决策也是该图的关键部分。以下是互联网银行系统的容
器图示例。它显示了
互联网银行系统(虚线框)由五个容器组成:服务器端
Web
应用程序、客户端单页面应用程
序、移动应用程序、服务器端
API
应用程序和数据库。
7
-
-
-
-
-
-
-
-
-
上一篇:RC模型的概念
下一篇:RC管、SC管、KBG,JDG都是什么管