美文网首页
浅谈软件架构的C4模型

浅谈软件架构的C4模型

作者: 山岳之心 | 来源:发表于2020-11-29 07:40 被阅读0次

架构的C4模型是一种软件模块设计范式,它包括四个部分。

  1. 上下文关系图
  2. 解决方案容器图
  3. 技术组件图
  4. 功能类图

其实写软件如同写科研论文一样。

首先是分析问题,将问题划分为不同的子问题。

不同的子问题就相当于不同的章节。章节之间的依赖关系要满足:基本章节在前面,后面的章节依赖于前面的章节。

章节之间的依赖关系相对比较简单,一般只需要引用依赖即可。描述章节之间依赖的就是上下文关系图。C4模型的上下文相当于是软件的引言。软件中的引用依赖相当于接口。

对不同章节都提出可能的技术解决方案也即技术组件,这些技术组件之间的依赖关系可以比较复杂。往往涉及到交叉依赖。章节就相当于一个容器,容器内是技术组件。

论文的章节中一般含有的各个子小节,就是这个章节的技术模块组件。所以章节中包含子小节就是容器图,子小节反映为技术模块。

子小节内会有各种工具,并使用这些工具来解决子小节的各个方面的细致问题。一般这些工具就相当于论文中的段落。在软件架构中,这些工具就是功能类图。所以每一个技术组件都可以细化为各种功能类图,类图之间的关系就形成了组件的架构图,一般用包图来实现。

注意:论文的段落之间原则上是流程化的。软件架构在这个层面与写论文有不同之处。软件架构中的功能类图之间除了流程之外,还有动态交互。

综上,一个软件架构设计书中,总计包括:

  1. 一张上下文关系图以及对应的流程图,上下文关系图的组成元件是容器。每个容器之间用接口来传递数据。
  2. 上下文关系图中的每个容器都要对应一张容器图,容器图内的组成元件是组件。每一个容器图都需要对应的流程图。
  3. 每个组件都需要对应一张类图,一张流程图。如果是接口型组件,需要设计交互时序图。

相关文章

网友评论

      本文标题:浅谈软件架构的C4模型

      本文链接:https://www.haomeiwen.com/subject/fqyqwktx.html