第11章细化架构的故事
细化架构和概念架构的差异
接口
细化架构
接口,细化架构后会出现明确的接口定义,在概念架构中的初级分层后,为了让解决问题更加具象,所以在细化架构这个迭代螺旋式阶段,我们要给出明确的接口。
概念架构
只有抽象的组件和抽象的交互机制,概念架构在概念这个层次上过多的考虑的是先有一个整体的概念,所以只有抽象的组件和交互机制。
子系统
细化架构
子系统和模块分割系统,有明确接口。细化架构中分割出了一些模块和子系统,将问题分而治之,同时不同系统和模块之间进行交互,合则达到功能目标。
概念架构
组件没有接口,只有职责,组件和组件之间没有接口,但是会有明显的职责划分。按照组件的功能特性,把组件分为三类,处理组件、连接组件、数据组件。三类组件又按照职责和功能各有区别
交互机制
细化架构
细化架构中存在三种具体到战术的交互机制,分别是基于接口编程、消息机制、远程方法调用
概念架构
而在概念架构中,只是抽象的交互,例如A层使用B层的方法。
多视图方法
多视图方法来源于多角度看待问题,犹如盲人摸象,不同的盲人感受到的是大象的不同的部分,而只有每个盲人感受到的大象的那一部分合起来才是一个完整的大象,类比知识和架构或者概念,我们平常都是学习不同的体现这一规律的例子,来从不同的维度去感受它。基于以上,多视图方法在架构上应运而生。
概念架构设计部分和架构设计文档的区别
方案里的概念架构设计部分只是一个极其抽象化,不足以指导正常的软件开发全过程,所以我们需要制作架构设计文档来以质疑驱动,把架构不断的细化,优化,直至能够指导开发的进行
第12章什么是细化架构
图示
图
多视图方法
兼顾多个视图之间设计的一致性
多视图方法从不同角度看架构,让我们难以遗漏或者是顾此失彼
意义
利于思考,从不同的角度思考架构,让我们把思考力集中在这一角度,重拳出击,便于交流
视图和阶段的区别
图
RUP4+1
RUP4+1的五种视图,用例视图、逻辑视图、开发视图、进程视图、物理视图
5视图方法
逻辑视图
开发视图
运行视图
物理视图
数据视图
图示
第13章逻辑结构
分层的细化
图例
分区的引入
机制的提取
隐式代码
分是手段,合是目的
协作决定接口
结构设计到行为设计
第14章物理架构、运行架构、开发架构
运行架构
控制流
开发架构
重用顺序