Was ist eine Verantwortungskette?
Die Verantwortungskette (Chain of Responsibility, AdR) umfasst den Prozess der Angabe der Aktivitäten und Verantwortlichkeiten jeder einzelnen Einheit im objektorientierten Entwurfsmuster. In einem objektorientierten Entwurf gibt es zwei Grundelemente. Befehlsobjekte und Verarbeitungsobjekte. Die Befehlsobjekte generieren die Befehle an die Verarbeitungsobjekte, und die Verarbeitungsobjekte wählen aus den Befehlen aus, die sie verarbeiten können, und übergeben den Rest an die anderen in der Kette. Dies ist das Grundprinzip des objektorientierten Entwurfs, und es gibt viel mehr Flexibilität beim Entwurf, beispielsweise die neue Einschließung der Objekte an einer beliebigen Stelle im Entwurfsmuster der Verantwortungskette.
Der Vorteil des objektorientierten Designs besteht darin, dass die Kommunikation nicht auf den Absender und den Empfänger beschränkt ist, da sich dort viele Objekte befinden, die den Befehl des Absenders verarbeiten können. Es gibt eine Kette von verschiedenen Objekten, die aneinandergereiht sind, um die Befehle zu verarbeiten, und wenn man sie nicht verarbeiten kann, kann sie an die nächste in der Kette weitergegeben werden. Die Verantwortungskette läuft so lange weiter, bis eines der Objekte den Befehl annimmt.
Die Verantwortungskette muss flexibler sein und die Hinzufügung neuer Bearbeiter in der Kette unterstützen. Da nicht jeder Handler alle Aufgaben ausführen kann, muss eine Gruppe von Handlern vorhanden sein, die gemeinsam arbeiten können. Die Verantwortungskette kann einige Nachteile haben, da einige der Befehle selbst am Ende der Kette ungelöst bleiben. Um dieses Problem zu beheben, besteht eine Lösung darin, alle Handler für alle möglichen Anforderungen zu implementieren.
Es könnte einige Probleme im Zusammenhang mit den unterbrochenen Gliedern im System der Verantwortungskette geben. Wenn der Programmierer vergisst, die Befehle zu verknüpfen, kann die Anforderung verloren gehen. Die Anforderungsdarstellung ist von Bedeutung, da sie in allen Komponenten der Verantwortungskette verwendet wird. Ein weiterer Mangel, der im Entwurf des AdR liegen könnte, besteht darin, dass aufgrund einiger Probleme im konkreten Bearbeiter einige Anfragen am Ende der Kette möglicherweise völlig unberücksichtigt bleiben. Alles in allem ist die Verantwortungskette ein gutes System, wenn sie unter Berücksichtigung aller damit zusammenhängenden Aspekte sorgfältig entworfen wurde.