上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.4 初识架构认知框架
综上所述,我们得到了一个三维的架构认知框架,如图1-6所示。
图1-6 架构认知框架
在这个框架中,3个坐标轴的解释如下:
1)X轴代表架构落地方法,包括需求分析、架构设计、系统实现和系统维护4个阶段。
2)Y轴代表架构知识模型,它不仅仅用于架构知识分类,对架构落地方法的标准化同样作用很大。一般来说,架构落地方法的每个阶段的任务之间存在显著差异。然而,通过引入架构知识模型,可以将每个阶段的任务划分为信息交换、架构编排和架构演进三类。将不同阶段的任务名称一致化,其意义不仅仅在于方便记忆,更重要的是相同类型的任务意味着底层规则也基本一致,可以相互借鉴。
3)Z轴代表架构思维模式,不同的层级代表着其规则蕴含着多大的力量,可以用来解决多大范围内的架构设计问题。
此外,在架构认知框架中,不论是架构知识模型、架构落地方法涵盖的4个阶段,还是架构思维模式都是相对固定的。然而,各个环节实际应用到的架构知识,可以在框架内部根据不同的系统需求或者技术更迭而动态变化。举个简单的例子,项目根据规模大小可以选择是否进行业务架构建模,编程语言可以选择Java或Python等。
接下来将详细介绍架构认知框架中的三部分。不过在此之前,先来探讨一下编程与架构之间的关系。这一点非常重要,因为绝大多数架构师是从程序员逐步成长而来的。然而,仍有不少程序员认为编程和架构是两个相对独立的知识领域,或者是知识逐级递进的关系。实际上,以上观点都是不正确的,那么它们到底是什么关系呢?