一线架构师第三部分——细化架构
架构师的工作是领导团队的开发,但很多情况下,架构师是坐镇帷帐之中而决胜千里之外的,拥有千里的运筹能力或许就是能让项目团队一路走向成功的重要因素。对于架构师来说需求分析、分割层次、对象建模这些都是他们的拿手好戏,而在架构师对项目的需求进行合理架构后,就能得到一个初步的概念模型。
概念模型是投标、售前、市场宣传等工作的强有力的支持,一个良好的模型能有效的帮助项目整体的前期搭建与后续优化,所以这也是为什么架构师如此重要。
概念模型作为架构师的必修课,实际上架构师还需要一门重要的“辅修课”——细化架构和非功能需求,后者往往考验架构师的细心与耐心,而细化架构就是架构师的经验之道了。
细化架构
概念模型能帮助前期和后期工作,但对于中期开发工作总有欠缺之处,因为概念模型作为一个粗略的架构很难对于实际的编程操作产生指导作用。所以为了有效指导编程工作的进行,架构师需在概念模型的基础上添加细节。
这些细节包括了三者:
- 接口:对于实际模组的抽象表示,也是系统内部交互的基本单位。
- 子系统:对于分割的层次再次划分,大而化小,分而治之。
- 交互机制:定义系统之间的调用、消息传输、面向接口的编程。
而对于架构师来说,想要全部都确定下来也是很困难的一件事,因为细化到一定程度后,系统内部的构造也会变得异常复杂,所以架构师需要五大视图的帮助。
五大视图
即逻辑视图、开发视图、运行视图、物理视图、数据视图。
视图能提供思路,思路清晰了架构师就不会因为错误的关注点而出现偏差,从而更好的进行架构工作。
逻辑架构
架构师最不缺的应该当属经验了。在划分层次和理清功能时,架构师的实践策略与套路就能帮助工程人员选择自己的开发方式与合作方式。
书中提供了作者作为老一辈的经验总结,就是在逻辑层面上引入分区概念。在层次的细化后,架构师可以对分层后的系统进行再次划分,就像表格,行划分出列,层次划分出分区。在分区的帮助下,工程人员可以理清层次之间的脉络关系,支持迭代开发,从而提取出相互之间的协作关系,这就是作者的另外一个经验之道——“机制提取”。
此外作者还提供了自己的思路总结和10条经验要点,在此就不赘述。