商业网站源码,wordpress网易云音乐插件,网站开发成本主要有哪些,怎样做微信推广网站概述 刚在InfoQ上看到一篇介绍C4Model的文章,觉得这个模型设计的很赞,很有指导意义,做个简单的记录. Why,为什么需要架构图? ThoughtWorks中国 文章中有几句话我觉得很有道理,这里直接摘抄. “纸上的不是架构#xff0c;每个人脑子里的才是” ; “那些精妙的方案之所以落不了…概述 刚在InfoQ上看到一篇介绍C4Model的文章,觉得这个模型设计的很赞,很有指导意义,做个简单的记录. Why,为什么需要架构图? ThoughtWorks中国 文章中有几句话我觉得很有道理,这里直接摘抄. “纸上的不是架构每个人脑子里的才是” ; “那些精妙的方案之所以落不了地是因为没有在设计上兼容人类的愚蠢”。 我觉得,软件工程,或者软件中的术语发明的原因就是为了减少沟通的障碍,让大家在一个 平台 上对话. 而架构图可以起到如下作用; 一方面: 让软件的开发人员自己,以及和软件开发相关的用户,PM等人员都能快速了解一个系统的业务模型;另一方面: 利于开发人员相互之间协作,定下方案,因为自然语言是有模糊地带的,难以无歧义的传达;利于软件系统的维护,一图胜千言.What,C4 是什么呢? 详细的讲解,可以参考InfoQ的文章,这里做个总结. C4 4个单词的首字母为C的单词的代表, 分别为: 上下文(Context),容器(Container),组件(Component)和代码(Code); 依据不同的受众,分别抽象出了这四个级别.其中容器应用程序、数据存储、微服务等,组件和代码来描述一个软件系统的静态结构. 第 1 层系统上下文 显示了正在构建的软件系统以及构建的系统与用户及其他软件系统之间的关系。 这个层级的图,关注的是用户层面看到的关系,注重的是和准备开发的系统与外部系统和交互人之间的关系. 将用户,你的代建系统,已有的其他系统用不同的颜色进行区分; 第 2 层容器 将软件系统放大显示组成该软件系统的容器应用程序、数据存储、微服务等。 在这个层级,已经关注系统本身了,开始关注这个系统有哪些部分组成,不过粒度非常粗. 第 3 层组件 将单个容器放大以显示其中的组件。这些组件映射到代码库中的真实抽象例如一组代码。 在这个层级,关注的已经是系统中的模块具体的功能了,这部分可能对应了具体的功能模块. 第 4 层代码 如若必要,可以放大个别组件以显示该组件的实现方式。 一般以UML图的形式展示; 这个层级,是具体的开发人员关注的实现细节了,用于具体的功能逻辑的分析和展示. How,怎能画图呢? 在C4官网,下有个Tooling节点,讲述了目前已有的几个画图工具. 参考 用于软件架构的C4模型可视化架构设计——C4介绍C4官网转载于:https://www.cnblogs.com/jnienv/p/10701981.html