使用管道--过滤器风格设计软件

管道-过滤器模式是一种早期的软件设计思路,常用于编译系统。这种模式将软件视为一系列独立功能模块(过滤器)的组合,每个模块处理输入数据流并产生输出数据流。在编译器中,如预处理、编译、汇编和链接都是这种模式的实例。优点包括模块重用、易于维护和扩展,支持并发计算。但其不适合交互式系统和需要数据共享的情况。

管道--过滤器是一种比较早期的软件设计思路,主要思路是将软件系统看成各种功能模块的组合,功能模块从输入集合读入数据流,并在输出集合产生输出数据流,它最典型的应用是在编译系统。

阅读目标

在本文中,你将获得以下知识:

  • 了解管道-过滤器风格的设计思路
  • 使用该设计风格的时机和原因
  • 案例
  • 管道过滤器风格的优缺点

目录

阅读目标

简介

时机和原因

案例

优缺点

总结


简介

管道-过滤器模式的体系结构是面向数据流的软件体系结构。每个功能模块都有一组输入和输出,功能模块从输入集合读入数据流,并在输出集合产生输出数据流,在系统的构件中计算了一个数据集来产生另外一个数据集。在管道过滤器风格中,功能模块称作过滤器(Filter);功能模块间的链接可以看作输入、输出流之间的通路,所以称作管道(Pipe)。

原因和时机

管道-过滤器风格的特征之一在于过滤器的相对独立性,即过滤器独立完成自身功能,相互之间无需进行状态交互,且各个过滤器之间无需直到它的输入和输出管道所连接的过滤器的存在。每个过滤器仅仅需要对输入管道的输入流数流进行限制,并保证输出管道的输出数据流有合适的内容,并不知道连接在其输入、输出管道上的其他过滤器的实现细节。

使用管道的过滤器的时机在于需要将一个复杂任务拆解为一系列可管理的、离散的服务,并将它们组织成一条管道。在确保每个基本构件的函数满足单一职责原则,特定的输入总是产生相同的输出时,可以创建这样的一个黑盒,将其拼装起来组成的完整软件结构。

管道-过滤器风格的软件体系适合用在并行计算系统上,各个构件之间组成的系统相互独立,不存在数据共享的问题,在并行计算完成之后,各个子系统的结果汇总,就完成了计算任务。在早期的计算机的计算任务中比较常见,计算机只用来做计算,而不考虑系统交互。

案例

编译器就是经典的管道-过滤器风格

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值