Leo

架构师手册

View My GitHub Profile

12.3. 业界现状

12.3.1. 误认为多视图是OO方法分支

提问:Framework技术是OO的分支吗?不是,Framework本质上和面向对象无关,用C语言也可以编写Framework。更切切近本质的Framework的定义是:可以通过某种回调机制进行扩展的软件系统或子系统的半成品。

的确,OO方法太流行了,以至于很多技术都“变成”了OO的分支。

有同行也常常将多视图方法误认为是OO方法的分支。其实,无论是OO方法,还是结构化方法,都远未涵盖架构设计的全部。所以,只具有OO技能对架构师而言是不够的。

12.3.2. 误将“视图”当成“阶段”

对架构设计方法而言,区分阶段和视图的概念是非常重要和必要的

误解和正解

“左边”的观点–概念架构、逻辑架构、物理架构是3个不同的层次。其实这种观点不完全正确,因为逻辑架构和物理架构是架构设计同一阶段中须要同时考虑的两个方面–即二者是两个视图,而非两个阶段

12.3.3. RUP 4+1视图

在软件架构发展史上,4+1视图方法具有重大贡献。

1995年,Philippe Kruchten发表了题为《The4+1 View Model of Architecture》的论文,标志着4+1视图方法的诞生。后来,Philippe Kruchten加入Rational公司,4+1视图演化为下图所示的模样。

RUP 4+1视图方法(来源:RUP)

RUP4+1视图方法有几个重要特点:

对应于上述3个特点,架构师在实践中应注意:

12.3.4. SEI 3视图

SEI的Len Bass等专家在《软件架构实践(第2版)》中阐述了“3视图”的观点,他们认为架构设计的工作应该包含3类视图:

SEI 3视图方法

来源:《Software Architecture in Practice

总的来说,SEI 3视图方法没有RUP 4+1视图方法影响大,但也值得架构师研究和体会的。

例如: