Page 79 - 4190
P. 79
Рисунок 7.10 – UML-діаграма класів патерну Chain of Responsibility
Патерн Observer
При реалізації шаблону «Спостерігач» зазвичай використовують
такі класи:
Observable – інтерфейс, що визначає методи для додавання, ви-
далення та оповіщення спостерігачів.
Observer – інтерфейс, за допомогою якого спостережуваний
об'єкт оповіщає спостерігачів.
ConcreteObservable – конкретний клас, який реалізує інтерфейс
Observable.
ConcreteObserver – конкретний клас, який реалізує інтерфейс
Observer.
При зміні спостережуваного об’єкту, оповіщення спостерігачів
може бути реалізоване за такими сценаріями:
1. Спостережуваний об’єкт надсилає кожному із зареєстрованих
спостерігачів всю потенційно релевантну інформацію (примусове
розповсюдження).
2. Спостережуваний об’єкт надсилає кожному із зареєстрованих
спостерігачів лише повідомлення про те що інформація була змінена,
а кожен із спостерігачів, за необхідності, самостійно здійснює запит
необхідної інформації у спостережуваного об’єкта (розповсюдження
за запитом).
Шаблон «спостерігач» застосовують у тих випадках, коли систе-
ма має такі властивості:
існує, як мінімум, один об'єкт, що розсилає повідомлення;
є не менше одного одержувача повідомлень, причому їхня кі-
лькість і склад можуть змінюватися під час роботи програми.
79