管道和過濾器模式

1、示意圖

過濾器
管道
過濾器
過濾器
管道
過濾器
管道
過濾器

2、 組件

組件: 過濾器,接受數據輸入,進行轉化後輸出

  • 過濾器是獨立的實體,相互之間沒有狀態的依賴
  • 對於一個過濾器而言,它上游和下游的過濾器是透明的

交互: 交互由管道提供,管道負責連接一個過濾器的輸出和另外一個過濾器的輸入。

3、常見變種

  • 流水線:表現爲線性的拓撲結構,如批處理操作系統、Unix Shell、編譯器
  • 有界管道: 對一個管道所能傳輸的數據量作出限制
  • 類型管道:對一個管道所能傳輸的數據類型做出限制

4、優缺點

優點:

  • 系統的總體輸入輸出是每個過濾器的簡單組合,易於理解
  • 支持重用
  • 易於維護和修改
  • 系統的一些特性容易分析,比如吞吐量、死鎖
  • 支持併發

缺點:

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