Observer (модель)
Материал из Википедии — свободной энциклопедии
-
У этого термина существуют и другие значения, см. Observer.
Observer, Наблюдатель - поведенческий шаблон проектирования. Также известен как Dependents (подчиненные), Publisher-Subscriber (издатель-подписчик).
[править] Назначение
Определяет зависимость типа «один ко многим» между объектами таким образом, что при изменении состояния одного объекта все зависящие от него оповещаются об этом событии.
[править] Реализация
При реализации шаблона Observer обычно используются следующие классы.
- Observable - интерфейс, определяющий методы для добавления, удаления и оповещения наблюдателей.
- Observer - интерфейс, с помощью которого наблюдаемый объект оповещает наблюдателей.
- ConcreteObservable - конкретный класс, который реализует интерфейс Observable.
- ConcreteObserver - конкретный класс, который реализует интерфейс Observer.
[править] Область применения
Шаблон Observer применяется в тех случаях, когда система обладает следующими свойствами.
- Существует, как минимум, один объект, рассылающий сообщения.
- Имеется не менее одного получателя сообщений, при чем их количество и состав может изменяться во время работы приложения.
Данный шаблон часто применяют в ситуациях, в которых отправителя сообщений не интересует, что делают с предоставленной им информацией получатели.