Der Handler deklariert die Schnittstelle, die für alle Betonhandler gemeinsam ist. Es enthält in der Regel nur eine einzige Methode für die Behandlung von Anforderungen, aber manchmal kann es auch eine andere Methode zum Festlegen des nächsten Handlers in der Kette haben. Betonhandler enthalten den eigentlichen Code für die Verarbeitung von Anforderungen. Nach Erhalt einer Anforderung muss jeder Handler entscheiden, ob er verarbeitet wird und ob er sie zusätzlich entlang der Kette übergeben soll. Wenn ein Benutzer beispielsweise auf eine Schaltfläche klickt, wird das Ereignis durch die Kette von GUI-Elementen weitergegeben, die mit der Schaltfläche beginnt, entlang seiner Container (wie Formulare oder Bedienfelder) geht und mit dem Hauptanwendungsfenster endet. Das Ereignis wird vom ersten Element in der Kette verarbeitet, das es verarbeiten kann. Dieses Beispiel ist auch bemerkenswert, da es zeigt, dass eine Kette immer aus einer Objektstruktur extrahiert werden kann. Mit dem Muster können Sie mehrere Handler in einer Kette verknüpfen und nach Erhalt einer Anforderung jeden Handler “fragen”, ob er ihn verarbeiten kann. Auf diese Weise erhalten alle Handler die Möglichkeit, die Anforderung zu verarbeiten.

Rahmenmuster von 1800–1830, mit Mäandern darin Es ist entscheidend, dass alle Handlerklassen die gleiche Schnittstelle implementieren. Jeder Betonhandler sollte sich nur um den folgenden Handler kümmern, der die Ausführungsmethode hat. Auf diese Weise können Sie Ketten zur Laufzeit erstellen, indem Sie verschiedene Handler verwenden, ohne den Code mit ihren konkreten Klassen zu koppeln. Da Sie die Handler in der Kette in beliebiger Reihenfolge verknüpfen können, werden alle Anforderungen genau wie geplant durch die Kette gelangen. Der Client kann Ketten nur einmal oder dynamisch zusammenstellen, abhängig von der Logik der Anwendung. Beachten Sie, dass eine Anforderung an jeden Handler in der Kette gesendet werden kann – sie muss nicht die erste sein. Diese Klasse sollte über ein Feld zum Speichern eines Verweises auf den nächsten Handler in der Kette verfügen. Erwägen Sie, die Klasse unveränderlich zu machen. Wenn Sie jedoch Ketten zur Laufzeit ändern möchten, müssen Sie einen Setter zum Ändern des Werts des Referenzfelds definieren. Ein Mäander oder Meandros[1] ist ein dekorativer Rahmen, der aus einer durchgehenden Linie konstruiert ist und zu einem wiederholten Motiv geformt wurde.

Ein solches Design wird auch als griechisches Lauben- oder griechisches Schlüsseldesign bezeichnet, obwohl es sich um moderne Bezeichnungen handelt. In unserem Beispiel bei Bestellsystemen führt ein Handler die Verarbeitung durch und entscheidet dann, ob die Anforderung weiter unten in der Kette übergeben werden soll. Unter der Annahme, dass die Anforderung die richtigen Daten enthält, können alle Handler ihr primäres Verhalten ausführen, unabhängig davon, ob es sich um Authentifizierungsprüfungen oder Zwischenspeicherung handelt. Sie gehörten zu den wichtigsten Symbolen im antiken Griechenland; und vielleicht symbolisierte Unendlichkeit und Einheit; viele antike griechische Tempel haben das Zeichen des Mäanders eingebaut.