管道一過濾器架構個人經驗

2022-05-16 23:22:02 字數 1886 閱讀 3784

在管道-過濾器架構模式中,每個構件都有一組輸入,輸出,構件讀取輸入的資料流,經過內部處理後,產生輸出資料流,該過程主要完成輸入流的變換及增量計算。這裡的構件就是過濾器,而連線過濾器的就是管道,這個管道將上乙個過濾器處理的結果資料流傳送到下乙個過濾器,在進行其他的計算。

簡單來說,管道-過濾器模式結構就像是一條產品加工流水線,原材料在流水線上經過乙個個工人的加工,最終生產出產品。這裡的工人就是過濾器,將材料進行加工,流水線中的傳送帶就是管道,將乙個工人加工過得材料傳送給下乙個工人繼續加工。

應用場景1.由乙個應用程式所需的處理可以很容易地被分解成一組離散的,獨立的步驟。2.由應用程式執行的處理步驟具有不同的可擴充套件性要求。

優勢是(1)使得構件具有良好的隱蔽性和高內聚、低耦合的特點;(2)允許設計者將整個系統的輸入/輸出行為看成是多個過濾器的行為的簡單合成;(3)支援軟體重用。重要提供適合在兩個過濾器之間傳送的資料,任何兩個過濾器都可被連線起來(4)系統維護和增強系統效能簡單。新的過濾器可以新增到現有系統中來;舊的可以被改進的過濾器替換掉;(5)允許對一些如吞吐量、死鎖等屬性的分析;(6)支援並行執行。每個過濾器是作為乙個單獨的任務完成,因此可與其它任務並行執行;

然後說一些案例:

下面說一下 管道以及過濾器的組成以及優缺點

管道-過濾器的組成

1 過濾器

過濾器按照對流經它的資料操作的不同,可分為3類過濾器:輸入過濾器,處理過濾器和輸出過濾器。下面將對這三類過濾器進行介紹。

(1)輸入過濾器

輸入過濾器處在問題所在的外部世界與軟體系統的邊界處,是系統資料流的源點。它負責接收外界資訊並轉化為系統所需的資料流。

(2)處理過濾器

處理過濾器是系統內變換資料流的部件,它有乙個入口和乙個出口,資料經入口流入,經過處理過濾器內部處理之後從出口流出。

(3)輸出過濾器

從建立完備的,首尾一致的可重用的軟體部件組的角度出發,正如輸入過濾器是系統資料流的起點,那麼輸出過濾器是資料流的終點。

過濾器的實現還須滿足以下三條基本原理:

隨後的處理單元從過濾器中拉出輸出資料;

前面的處理單元把新的輸入資料壓入過濾器;

過濾器以迴圈工作的方式,從流水線中拉出其輸入資料並且將其輸出資料壓入流水線。過濾器按照以上三種情況可分為兩類:主動過濾器和被動過濾器。滿足前兩種情況的過濾器稱為被動過濾器,滿足最後一種情況的過濾器稱為主動過濾器。

2 管道

管道作為過濾器之間資料流動的通道的軟體部件,它的主要功能是連線各個過濾器,充當過濾器之間資料流的通道。管道具有資料緩衝以及提高過濾器之間的並行性操作的作用。管道由資料緩衝區,向資料緩衝區讀和寫資料,判斷管道為空或已滿等操作定義組成

管道/過濾器模式的優點如下。

(l)體現了各功能模組的「黑盤」特性及高內聚、低耦合的特點。

(2)可以將整個系統的輸入,輸出行為看成是多個過濾器行為的簡單合成。

(3)支援軟體功能模組的重用。

(4)便於系統維護:新的過濾器可以新增到現有系統中來,舊的可以由改進的過濾器替換。

(5)支援某些特定的分析,如吞吐量計算、死鎖檢測等。

(6)支援並行操作,每個過濾器可以作為乙個單獨的任務完成。

管道,過漶器模式的缺點如下。

(1)通常導致系統處理過程的成批操作。

(2)需要設計者協調兩個相對獨立但又存在關係的資料流。

(3)可能需要每個過濾器自己完成資料解析和合成工作(如加密和解密),從而導致系統效能下降,並增加了過濾器具體實現的複雜性。

引用:

管道和過濾器

現在的學習筆記要側重自己的理解。用自己的語言,經驗來闡釋它。讀一段後,寫下我的理解。管道和過濾器體系結構模式為資料流的系統提供了一種結構。每個處理步驟封裝在乙個過濾器元件中,過濾器元件間通過通道連線。重組管理器元件可以得到不同的系統族。這個和之前見過的乙個語音流的處理結構非常相似。1.例子 這裡列舉...

Java Web高階特性之(一)過濾器

過濾器是乙個伺服器端的元件,它可以擷取使用者端的請求與響應資訊,並對這些資訊過濾。request 使用者直接訪問頁面時,web容器將會呼叫過濾器 error 目標資源是通過宣告式異常處理機制呼叫時,過濾器將被呼叫 forward 目標資源是通過requestdispatcher的forward方法呼...

架構設計模式之管道 過濾器模式

管道 過濾器模式的體系結構是面向資料流的軟體體系結構。它最典型的應用是在編譯系統。乙個普通的編譯系統包括詞法分析器,語法分析器,語義分析與中間 生成器,優化器,目標 生成器等一系列對源程式進行處理的過程。人們可以將編譯系統看作一系列過濾器的連線體,按照管道 過濾器的體系結構進行設計。此外,這種體系結...