Wzorce projektowe – Chain of Responsibility

Lipiec 30th, 2011

Na łamach bloga przytoczę teraz pewną powtórzeniową dawkę wiedzy dla wszystkich absolwentów kursu wzorców projektowych na swoich studiach informatycznych (i nie tylko;). Ponieważ szczegółowych opisów wzorców (i antywzorców) projektowych w sieci jest dużo skupię się tutaj tylko i wyłącznie na kilku najistotniejszych sprawach – mianowicie na opisie celu wprowadzenia wzorca, opisie przypadków, w którym go używamy, konsekwencji jego zastosowania oraz przybliżającego sprawę diagramu UML. Dzisiejszy odcinek sponsoruje…

CHAIN OF RESPONSIBILITY, czyli łańcuch odpowiedzialności

Cel:

Uniknięcie sprzężenia nadawcy żądania z odbiorcą przez umożliwienie większej liczbie obiektów realizacji tego żądania. Obiekty odbiorcze są łączone w łańcuch, wzdłuż którego przekazywane jest żądanie do czasu, gdy któreś z ogniw je zrealizuje.

Stosowalność:

Używamy go, gdy:
- Więcej niż jeden obiekt może zrealizować żądanie, a odbiorca nie jest znany a priori (zatem powinien być ustalony automatycznie).
- Chcemy wysłać żądanie do jednego z pewnej liczby obiektów nie specyfikując jawnie odbiorcy.
- Zbiór obiektów mogących zrealizować żądanie ma być ustalony dynamicznie.

 Konsekwencje stosowania:

Zredukowane sprzężenie
- Dodatkowa elastyczność w rozdzieleniu odpowiedzialności pomiędzy obiekty
- Brak gwarancji obsłużenia żądania

Diagram:

Comments are closed.