Java Reference
In-Depth Information
5.2 Das Architekturmuster Pipes and Filters
Das Architekturmuster Pipes and Filters modelliert die Struktur eines Systems in eine
Kette von sequenziellen Verarbeitungsprozessen (Filtern), die über ihre Ausgabe bzw.
Eingabe gekoppelt sind: Die Ausgabe eines Prozesses ist die Eingabe des nächsten
Prozesses (datenflussorientierte Architektur eines Systems).
5.2.1 Name/Alternative Namen
Kanäle und Filter (engl. pipes and filters), es wird auch die Kurzform Filter-Muster
(engl. filter pattern) benutzt.
5.2.2 Problem
Ein datenstromorientiertes System der Datenverarbeitung soll nicht als monolithischer
Block gebaut werden. Es soll leicht erweiterbar sein und eine möglichst parallele Ver-
arbeitung erlauben.
5.2.3 Lösung
Ein System, das Datenströme verarbeitet, kann mithilfe dieses Musters in Systemkom-
ponenten strukturiert werden.
Die Aufgabe des gesamten Systems wird in einzelne Verarbei-
tungsstufen zerlegt. Jeder Verarbeitungsschritt wird in Form eines
Filters implementiert. Jeweils zwei Filter werden durch eine Pipe
verbunden. Filter lesen die Daten und bearbeiten sie sequenziell.
Ein Filter wandelt eine Dateneingabe in eine Datenausgabe um.
Die Eingabedaten eines Filters werden als Datenstrom empfangen. Daraufhin führt der
Filter eine Funktion auf den Eingabedaten durch und stellt danach die Ausgabedaten
wieder als Datenstrom zur Verfügung.
Zur Bearbeitung eines Datenstroms hat ein Filter die folgenden Möglichkeiten:
x Teile der Daten entnehmen .
x Teile den Daten hinzufügen .
Dabei werden z. B. weitere Informationen berechnet und angehängt.
x Teile der Daten modifizieren .
Dabei werden z. B. vorhandene Informationen konzentriert oder in eine andere Dar-
stellung überführt.
Die hier genannten Verarbeitungsarten können beliebig kombiniert werden.
Eine Pipe transferiert und puffert die Daten. Sie ist ein passives Element , das die Im-
plementierung des Datenstroms darstellt.
Search WWH ::




Custom Search