Bryan Albrecht

Chain of responsibility Teil 1 Nutzen

Chain of responsibility bedeutet auf Deutsch Zuständigkeitskette. In der Softwareentwicklung wird so ein Entwurfsmuster (Pattern) genannt.

Funktion

Das Zuständigkeitsketten Pattern verkettet verschiedene Objekte, welche jeweils für einen bestimmten Algorithmus zuständig sind. Die verketteten Objekte ergeben eine Kette, welche voller verschiedener Algorithmen ist.
Das Objekt, welche diese Kette verwendet, kennt die einzelnen Kettenobjekte nicht. Er kennt nur den Zugriffspunkt und die gewünschten Paramater.
Wird nun auf die Kette zugegriffen, überprüft das erste Objekt in der Kette, ob es für die Anfrage zuständig ist. Wenn nicht, wird die Anfrage dem nächsten Kettenobjekt weitergegeben. Dies wird so lange gemacht, bis das zuständige Objekt gefunden oder das Ende der Kette erreicht wurde.

Beispiel

Ein einfaches Beispiel für eine Zuständigkeitskette ist ein Rechner.
Die geläufigsten Operationen eines Rechners sind, subtrahieren, dividieren und multiplizieren. All diese Operationen können ein Element der Rechner Kette sein. Diese würde dann wie folgt aussehen:

Rechner Kette

Entkopplung

Ein Kettenelement kennt jeweils nur jenes, welches nach ihm selbst folgt. Ob das Element selber von einem anderen Element oder vom Programm selber aufgerufen wird, ist dem Element egal.

Nutzen

Dem Programmteil, welcher die Kette aufruft, kann es egal sein, wie viele Kettenteile sich in der Kette befinden. Das einzige, was für das Programm wichtig ist, ist das die Kette selbstständig den richtigen Algorithmus findet und diesen auf die Mitgegebenen Parameter anwendet.

Teil 2

Im zweiten Teil wird die Implementierung des Patterns in den Code beschrieben und gezeigt.