局域网的体系结构一、管道与过滤器在管道与过滤器风格的软件体系结构中,每个构件,都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流
这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入
这种风格特别重要的过滤器必须是独立的实体
它不能与其它的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识
一个管道与过滤器网络输出的正确性并不依赖于过滤器进行增量计算过程的顺序
管道与过滤器风格的软件体系结构具有许多很好的特点:(1)具有良好的隐蔽性和高内聚、低耦合的特点;(2)允许设计者将整个系统的输入,输出行为看成是多个过滤器的行为的简单合成:(3)支持软件重用
主要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;(4)系统维护和增强系统性能简单:(5)允许对一些如吞吐量、死锁等属性的分析:(6)支持并行执行但是,这样的系统也存在着一些缺陷:(1)通常导致进程成为批处理的结构:(2)不适合处理交互的应用:(3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样又导致了系统性能下降,并增加了编写过滤器的复杂性
(pass理由上已经诉过)二、数据抽象和面向对象的组织这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作被封装在一个抽象数据类型或对象中
这种风格的构件是一种对象,或者说是抽象数据类型的实例
对象是一种被称作管理者的构件,因为它负责保持资源的完整性
对象是通过函数和过程的调用来交互的
面向对象的系统在编程时有两大优点:第1页共5页(1)因为对象对其它对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其它的对象
(2)设计者可将一些数据存取操作的问题分解成一些交互的代理程序的集合
但是,面向对象的系统也存在着一些问题(1)为了使一个对象和另一个对象通过过程调用等方式