Главная » Delphi » Delphi 2006 – Шаблон Observer (Наблюдатель)

0

В современных приложениях, особенно сетевых, популярна возможность синхронного обновления набора объектов при изменении некоторого управляющего объекта. Реализовать такой режим помогает шаблон Наблюдатель. При возникновении некоторого события он извещает представителей разных классов о необходимости измениться1 (рис. 7.20).

Интерфейс Наблюдателя iobserver содержит единственный метод Update, который вызывается внешним управляющим субъектом по мере необходимости.

Иногда такой режим называют «подпиской»». Объекты подписываются на автоматическое получение свежих сведений от «издателя».

Рис. 720. Шаблон Наблюдатель в Дизайнере модели

IObserver = interface

procedure Update(ASubj ect :TSubject)? end;

Класс Субъект содержит список Наблюдателей, которых надо извещать, методы его пополнения и исключения Attach и Detach, а также метод рассылки сообщения всем объектам списка. Отметим, что в качестве параметра такого извещения передается ссылка на сам Субъект.

TSubject = class strict private var

FObservers:ArrayList;

public

procedure Detach(AObserver :IObserver); procedure Attach(AObserver :IObserver); constructor Create;

strict protected

procedure NotifyObservers;

end;

Бобровский С. И. Технологии Delphi 2006. Новые возможности. — СПб.: Питер, 2006. — 288 е.: ил.

По теме:

  • Комментарии