软件结构风格的定义:软件结构风格是描述某一特定应用领域中系统组织方式的惯用模式(idiomatic paradigm)。体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件组合起来的。体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一租个完整的系统。按这种方式理解,软件体系结构风格定义了用于描述系统的术语表和一组指导构件系统的规则。
构件的定义:构件是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。构件有两种:复合构件和原子构件,复合构件由其他复合构件和原子构件通过连接而成;原子构件是不可再分的构件,底层由实现该构件的类组成,这种构件的划分提供了体系结构的分层表示能力,有助于简化体系结构的设计。
连接件的定义:连接件表示了构件之间的交互,简单的连接件如管道(pipe)、过程调用(proceduce call)、事件广播(event broadcast)等,更为复杂的交互如客户-服务器(client-server)通信协议,数据库和应用之间的SQL连接等。
软件体系结构风格的四要素:
(1)提供一个词汇表;
(2)定义一套配置规则;
(3)定义一套语义解释规则;
(4)定义对基于这种风格的系统所进行的分析。
软件体系结构风格的目的:
软件体系结构风格为大粒度的软件重用提供了可能。
几种软件体系结构风格的分类:(经典风格)
(1)管道与过滤器:在管道与过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完成消费之前,输出便产生了。因此,这里的构件被称为过滤器,这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。此风格特别重要的过滤器必须是独立的实体,它不能与其他的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。一个管道与过滤器网格输出的正确性并不依赖于过滤器进行增量计算过程的顺序。
管道与过滤器风格的特点:
优点:使得构件具有良好的隐蔽性和高内聚、