Was ist eine Verantwortungskette?

Die Verantwortungskette (CoR) beinhaltet den Prozess, die Aktivitäten und Verantwortlichkeiten jeder einzelnen Einheit im objektorientierten Entwurfsmuster anzugeben. Es gibt zwei grundlegende Elemente in einem objektorientierten Design; Befehlsobjekte und Verarbeitungsobjekte. Die Befehlsobjekte erzeugen 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 im objektorientierten Design, und es gibt viel mehr Flexibilität im Design, wie zum Beispiel die neue Einschließung der Objekte an beliebiger Stelle im Entwurfsmuster der Verantwortungskette.

Der Vorteil des objektorientierten Designs besteht darin, dass die Kommunikation nicht auf den Sender und den Empfänger beschränkt ist, da dort viele Objekte vorhanden sind, die den Befehl des Senders verarbeiten. Es gibt eine Kette verschiedener Objekte, die sich aneinanderreihen, um die Befehle zu verarbeiten, und wenn man damit nicht umgehen kann, kann es an das nächste in der Kette weitergegeben werden. Die Verantwortungskette geht weiter, bis eines der Objekte den Befehl annimmt.

Die Verantwortungskette muss flexibler sein und die Aufnahme neuer Bearbeiter in die Kette unterstützen. Da nicht jeder Handler jede einzelne Aufgabe erledigen kann, muss es eine Gruppe von Handlern geben, die kollektiv arbeiten können. Die Verantwortungskette kann einige Nachteile haben, da einige der Befehle auch am Ende der Kette ungelöst bleiben. Um dieses Problem anzugehen, besteht eine Lösung darin, alle Handler für alle möglichen Anforderungen zu implementieren.

Es könnte einige Probleme im Zusammenhang mit den defekten Gliedern in der Verantwortungskette geben. Wenn der Programmierer vergisst, die Befehle zu verknüpfen, kann die Anfrage verloren gehen. Die Anforderungsdarstellung ist von Bedeutung, da sie in allen Komponenten der Verantwortungskette verwendet wird. Ein weiterer Fehler, der in der Konzeption des AdR liegen könnte, besteht darin, dass einige Anfragen aufgrund einiger Probleme beim konkreten Bearbeiter am Ende der Kette möglicherweise völlig unbeantwortet bleiben. Alles in allem ist die Verantwortungskette jedoch ein gutes System, wenn sie unter Berücksichtigung aller damit zusammenhängenden Aspekte sorgfältig konzipiert wurde.