西蒙布朗-C4模型

Posted 梅里之巅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了西蒙布朗-C4模型相关的知识,希望对你有一定的参考价值。

关于 C4 模型的一些解释

C4 模型是来自 software architecture for developers 一书的定义,指的是 Context 上下文场景、Container 容器、Component 组件和 Classes 类(或者 Code 代码),意思指一个软件架构是由这些模型呈树形结构组成。

关注代码仍然是大多数软件开发生命周期中关注的焦点,这是有一定道理,因为代码是最终交付。但如果你不得不向别人解释关于系统是如何工作的,你会从代码开始解释吗?

确实代码并不能讲述系统的整个故事,在缺乏文档的情况下,人们通常会开始在白板上或纸上用图框和线条解释系统的主要构建块是什么,它们是如何连接的。而使用 Microsoft Visio, Rational Software Architect 或 Sparx Enterprise Architect 等专业工具又比较复杂。

更好的办法是在不同的抽象层次创建不同的图 diagram,一个简单的图 diagram 比复杂的图能够更有效表达描述。下图是 C4 模型的示意图:

技术分享图片

  • 类 Class: 这是面向对象世界常用, 类是我们系统最小的构建模块。

  • 组件 Component: 一个组件可以认为是由一个或多个类组成的逻辑组,比如一个审计 audit 组件或授权服务能够用于决定资源的访问是否被允许,组件典型地由许多协同类组成微服务架构可以认为是一种组件。

  • 容器 Container: 一个容器代表组件执行或驻留的地方,这可能是一个 Web 容器或应用服务器,也可以是富客户端应用或数据库,容器是做为系统一部分启动的,容器之间通讯是通过远程接口如 SOAP web service, RESTful interface, Java RMI, Microsoft WCF, messaging, 等进行, Docker 可以认为是一个这样的容器。

  • Context/ 系统 System: 一个系统是一个高层次抽象和代表,一个系统由多个单独的容器组成,比如财务系统,银行系统或网站系统等。

以上是关于西蒙布朗-C4模型的主要内容,如果未能解决你的问题,请参考以下文章

架构设计的C4模型

工程能力之C4模型

为 Revit 模型 (C4R) 发布和生成房间图元

threejs引用的模型究竟是选择C4D还是Blender

c4d 模型在threejs中的应用案例

C4D做的3D文字模型在画图3D和PPT里加载问题