Chapter 3 软件体系结构风格
1. 软件体系结构风格概述:
●软件体系结构设计的一个核心问题是能否使用重复的体系结构模式,即能否达到体系结构级的软件重用。
●软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。按这种方式理解,软件体系结构风格定义了用于描述系统的术语表和一组指导构件系统的规则。
●对软件体系结构风格的研究和实践促进对设计的重用,经过实践证实的解决方案也可以可靠地用于解决新的问题。体系结构风格的不变部分使不同系统可以共享同一个实现代码。只要系统是使用常用的、规范的方法来组织,就可使别的设计者很容易地理解系统的体系结构。
●软件体系结构风格为大粒度的软件重用提供了可能。但对于应用体系结构风格来说,由于视点的不同,系统设计师有很大的选择余地。要为系统选择或设计某一个体系结构风格,必须根据特定项目的具体特点,进行分析比较后再确定,体系结构风格的使用几乎完全是特定的。
●软件体系结构最关键的四要素:
提供一个词汇表、定义一套配置规则、定义一套语义解释规则、定义对基于这种风格的系统所进行的分析
●通用体系结构风格:
(1)数据流风格:批处理序列、管道/过滤器
(2)调用/返回风格:主程序/子程序、面向对象风格、层次结构
(3)独立构件风格:进程通信、事件系统
(4)虚拟机风格:解释器、基于规则的系统
(5)仓库风格:数据库系统、超文本系统、黑板系统
2. 管道和过滤器:
●优点:
(1)使软构件具有良好的隐蔽性和高内聚、低耦合的特点。
(2)允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成。
(3)支持软件重用。
(4)系统维护和增强系统性能简单。
(5)允许对一些如吞吐量、死锁等属性的分析。
(6)支持并行执行。
●缺点: