Jeśli nie potrafi on przetworzyć żądania, powinien przekazać je swojemu następnikowi:

public void operacja(żądanie: Żądanie) { jeśli potrafimy obsłużyć dany typ żądania żądanie: obsłuż żądanie w przeciwnym wypadku: przekaż żądanie następnikowi

Konsekwencje użycia Zalety:

elementy łańcucha mogą być dynamicznie dodawane i usuwane w trakcie działania programu, zmniejszenie liczby zależności między nadawcą a odbiorcami, implementacja pojedynczej procedury nie musi znać struktury łańcucha oraz innych procedur.

Wady:

wzorzec nie gwarantuje, że każde żądanie zostanie obsłużone, śledzenie i debugowanie pracy działania łańcucha może być trudne.

Zastosowanie Wzorzec znajduje zastosowanie wszędzie tam, gdzie mamy do czynienia z różnymi mechanizmami podobnych żądań, które można zaklasyfikować do różnych kategorii. Dodatkową motywacją do jego użycia są często zmieniające się wymagania.

Przykład użycia Rozpatrzmy drzewo dokumentu (DOM). Każdy element może mieć elementy - dzieci, oraz ma swój element - rodzica w którym się zawiera (poza elementem głównym - rootem).