管道和过滤器模式

1、示意图

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

2、 组件

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

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

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

3、常见变种

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

4、优缺点

优点:

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

缺点:

  • 经常退化为批处理系统
  • 交互能力差,管道之间同步困难
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章