第3章软件体系结构风格 3.2经典软件体系结构风格 管道和过滤器风格的优点 使得软构件具有良好的隐蔽性和高内聚、低耦合的特点; 允许设计者将整个系统的输入/输出行为看成是多个过滤器的 行为的简单合成; ◎支持软件重用。只要提供适合在两个过滤器之间传送的数据, 任何两个过滤器都可被连接起来; ◎系统维护和增强系统性能简单。 新的过滤器可以添加到现有系 统中来;旧的可以被改进的过滤器替换掉; 允许对一些如吞吐量、死锁等属性的分析; 支持并行执行。每个过滤器是作为一个单独的任务完成,因此 可与其它任务并行执行。 SA 希赛⑧
◇ 管道和过滤器风格的优点 第3章 软件体系结构风格 3.2 经典软件体系结构风格 ◎ 使得软构件具有良好的隐蔽性和高内聚、低耦合的特点; ◎ 允许设计者将整个系统的输入/输出行为看成是多个过滤器的 行为的简单合成; ◎ 支持软件重用。只要提供适合在两个过滤器之间传送的数据, 任何两个过滤器都可被连接起来; ◎ 系统维护和增强系统性能简单。新的过滤器可以添加到现有系 统中来;旧的可以被改进的过滤器替换掉; ◎ 允许对一些如吞吐量、死锁等属性的分析; ◎ 支持并行执行。每个过滤器是作为一个单独的任务完成,因此 可与其它任务并行执行
第3章软件体系结构风格 3.2 经典软件体系结构风格 管道和过滤器的缺点 ◎通常导致进程成为批处理的结构。这是因为虽然过滤器可增 量式地处理数据,但它们是独立的,所以设计者必须将每个过 滤器看成一个完整的从输入到输出的转换; ◎ 不适合处理交互的应用。当需要增量地显示改变时,这个问 题尤为严重; ◎因为在数据传输上没有通用的标准,每个过滤器都增加了解 析和合成数据的工作,这样就导致了系统性能下降,并增加了 编写过滤器的复杂性。 希赛⑧
◇ 管道和过滤器的缺点 第3章 软件体系结构风格 3.2 经典软件体系结构风格 ◎ 通常导致进程成为批处理的结构。这是因为虽然过滤器可增 量式地处理数据,但它们是独立的,所以设计者必须将每个过 滤器看成一个完整的从输入到输出的转换; ◎ 不适合处理交互的应用。当需要增量地显示改变时,这个问 题尤为严重; ◎ 因为在数据传输上没有通用的标准,每个过滤器都增加了解 析和合成数据的工作,这样就导致了系统性能下降,并增加了 编写过滤器的复杂性
第3章软件体系结构风格 3.2 经典软件体系结构风格 数据抽象和面向对象组织 这种风格建立在数据抽象和面向对象的基础上,数 据的表示方法和它们的相应操作封装在一个抽象数据 类型或对象中。 这种风格的构件是对象,或者说是抽象数据类型的 实例。对象是一种被称作管理者的构件,因为它负责 保持资源的完整性。对象是通过函数和过程的调用来 交互的。 5ǖ 希赛
◇ 数据抽象和面向对象组织 第3章 软件体系结构风格 3.2 经典软件体系结构风格 这种风格建立在数据抽象和面向对象的基础上,数 据的表示方法和它们的相应操作封装在一个抽象数据 类型或对象中。 这种风格的构件是对象,或者说是抽象数据类型的 实例。对象是一种被称作管理者的构件,因为它负责 保持资源的完整性。对象是通过函数和过程的调用来 交互的
第3章软件体系结构风格 3.2经典软件体系结构风格 数据抽象和面向对象组织 对象 对象 对象 抽象数 据类型 对象 对象 过程调用 希赛
◇ 数据抽象和面向对象组织 第3章 软件体系结构风格 3.2 经典软件体系结构风格 对象 抽象数 据类型 过程调用 对象 对象 对象 对象
第3章软件体系结构风格 3.2 经典软件体系结构风格 ◇ 面向对象系统的优点 ◎ 因为对象对其它对象隐藏它的表示,所以可以改 变一个对象的表示,而不影响其它的对象; 设计者可将一些数据存取操作的问题分解成一些 交互的代理程序的集合。 希赛⑧
◇ 面向对象系统的优点 第3章 软件体系结构风格 3.2 经典软件体系结构风格 ◎ 因为对象对其它对象隐藏它的表示,所以可以改 变一个对象的表示,而不影响其它的对象; ◎ 设计者可将一些数据存取操作的问题分解成一些 交互的代理程序的集合