管道和过滤器模式

1、示意图

过滤器
管道
过滤器
过滤器
管道
过滤器
管道
过滤器

2、 组件

组件: 过滤器,接受数据输入,进行转化后输出

  • 过滤器是独立的实体,相互之间没有状态的依赖
  • 对于一个过滤器而言,它上游和下游的过滤器是透明的

交互: 交互由管道提供,管道负责连接一个过滤器的输出和另外一个过滤器的输入。

3、常见变种

  • 流水线:表现为线性的拓扑结构,如批处理操作系统、Unix Shell、编译器
  • 有界管道: 对一个管道所能传输的数据量作出限制
  • 类型管道:对一个管道所能传输的数据类型做出限制

4、优缺点

优点:

  • 系统的总体输入输出是每个过滤器的简单组合,易于理解
  • 支持重用
  • 易于维护和修改
  • 系统的一些特性容易分析,比如吞吐量、死锁
  • 支持并发

缺点:

  • 经常退化为批处理系统
  • 交互能力差,管道之间同步困难

版权声明:本文为qq_41475583原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。