ad

读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.6.5 管道-过滤器架构模式

admin 84 2023-10-26

【摘要】 本书摘自《Java架构之完美设计 实战经典》一书中第2章,第6节,由颜廷吉编著。

2.6.5 管道-过滤器架构模式

读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.6.5 管道-过滤器架构模式

管道-过滤器 (Pipe-And-Filter) 模式中,数据经过一个又一个的过滤器后最终可以得 到需要的数据管道-过滤器模式都有一套输入输出接口。每个组件从输入接口中读取数据,经过处 理,将结果数据置于输出接口中,这样的组件称为“过滤器”。连接者将一个过滤器的输 出传送到另一个过滤器的输入,把这种连接者称为"管道"。模型中,过滤器必须是独立 的实体,每一个过滤器的状态不受其他过滤器的影响,虽然对过滤器的输入输出有一定 的规定,但过滤器并不需要知道向它提供数据流的过滤器和它要提供数据流的过滤器的 内部细节。

1.优点

设计人员将整个系统的输入输出行为理解为单个过滤器行为的叠加与组合,这样可以将 问题分解,化繁为简。

任何两个过滤器,只要它们之间传送的数据遵守共同的规约就可以连接。

旧的过滤器可以被替代,新的过滤器可以添加到已有的系统上。在管道-过滤器模式 中,只要遵守输入输出数据规约,任何一个过滤器都可以被另一个新的过滤器代替,同时为 增强程序功能,可以添加新的过滤器。

每个过滤器既可以单独执行任务,也可以与其他过滤器并发执行。过滤器的执行是独立 的,互不相干。

2.缺点

(1)不适合处理交互的应用。

(2)传输的数据没有标准化,所以读入数据和输出数据存在着格式转换等问题,会导 致性能降低。

2.7 架构思维

2.7.1 抽象思维

抽象思维指的是对某种事物进行简化归纳或描述的过程,抽象让我们关注要素,隐藏额 外细节。

在软件架构设计中,抽象帮助我们从大处着眼,隐藏细节。其实软件系统架构设计和小 朋友搭积木的本质是一样的,只是解决的问题域和规模不同而已。搭积木的时候,先是在头 脑里根据现有的积木想象一个完整的城堡鸟瞰图(抽象过程),之后再形成一个初步的组装

过程解析(子模块分解),然后利用积木搭建每一个子模块,最终拼装出最后的城堡,如图 2-56所示。同样道理,架构师先要根据客户需求在大脑中形成抽象概念,然后把系统分解 成各个子模块,依次实现子模块之后,最后将子模块拼装组合起来而形成最终系统。

2.7.2 分层思维

分层思维指的是为了构建一套复杂系统,需要把整个系统划分成若干个层次,每一层专注解决某个领域的问题,并向上提供服务。分层也可以认为是抽象的一种方式,将系统抽象分解成若干层次化的模块。有些层次是纵向的,它贯穿所有其他层次,称为“共享层”。分层思维在软件行业中有非常广泛的用途,例如本书图4-25所示4层网络协议模型、图2-57所示计算机操作系统等。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:读懂《Java架构之完美设计 实战经典》_为更好架构做准备_2.5.7 适配器模式
下一篇:读懂《Java架构之完美设计 实战经典》_为更好架构做准备_1.1.3 常见架构错误概念
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×