《一线架构师实践指南》第三章Refined Architecture阶段学习总结

学习摘录于网上资料文章

Refined Architecture,直接翻译为【精致的建筑】,这是本书的第三个部分,前两个阶段按分别为pre-Architecture阶段、conceptual Architecture阶段,两个阶段分别为【前架构】、【概念架构】,我自己对这写阶段的理解就是,一栋建筑物的形成过程,在正式架构之前,要了解这栋建筑的用途,居民楼?学生公寓?购物广场?政府大楼……,将情况了解清楚之后,进行概念架构,也就是要求不是特别多的一种大体概括,画出建筑物的草图,这些工作都完成之后,来到第三阶段,就是对这栋已经有些身影的建筑来精细设计,将其变为移动精致的建筑。将建筑替换成我们的软件,就是首先了解这个软件,这个系统各方各面的需求,然后进行系统的概念设计,具有哪些功能等等,之后来到这一Refined Architecture阶段,及对软件系统进行精确的设计。

书中讲了两个关于细化结构的小故事:

第一个故事是在《方案书》确定之后,架构师觉得方案书被认可说明架构已经很明确,无需“再”架构,但是程序员并没有在实际开发中得到足够的指导和限制,这就是在第一个名言中所描述的“项目的系统架构尚未确定”,及概念架构之后没有进行深一层次的“规约”设计,及细化架构,细化架构及概念架构的区别如下表。

第二个故事,办公室关于“什么是架构”的争论,程序员、程序经理、系统分析员、配置管理员、数据库工程师、部署工程师、用户这些角色都站在自己的立场发表了观点,提出了自己角色对应的“视图”,这里指出了第二个名言中所提到的“选择视图的工作”,最后给出了贴近实践的多视图方法,应将一线架构师的各项具体工作涵盖其中。

以及如何划分子系统,和定义接口:

划分子系统的三种方法:分层的细化、分区的引入(架构中引入分区,支持深度优先的迭代开发)、机制的提取(基于接口(或抽象类)的协作是机制,基于具体类的协作则算不上机制;实现不同的最终功能可以重用同一个机制),及“总-分-总”

划分子系统的四个重要原则:职责不同的单元划归不同子系统; 通用性不同的单元划归不同子系统; 需要不同开发技能的单元划归不同子系统; 兼顾工作量的相对均衡,把太大的子系统进一步做切分。

定义接口,避免“我的接口我做主”的错误思想,要协作定义

原文链接:http://www.bubuko.com/infodetail-3500203.html

原文地址:https://www.cnblogs.com/my---world/p/12672933.html