Erich Gamma Ralph Johnson Richard Helm John Vlissides Addison-Wesley



Download 6,32 Mb.
Pdf ko'rish
bet179/273
Sana02.03.2022
Hajmi6,32 Mb.
#479589
1   ...   175   176   177   178   179   180   181   182   ...   273
Bog'liq
Priemioop

Паттерны поведения
Мы можем инициировать запрос на получение справки, вызвав операцию
HandleHelp для любого объекта в цепочке. Чтобы начать поиск с объекта кноп-
ки, достаточно выполнить его операцию HandleHelp:
button->HandleHelp();
В этом примере кнопка обрабатывает запрос сразу же. Заметим, что класс
HelpHandler можно было бы сделать преемником Dialog. Более того, его пре-
емника можно изменять динамически. Вот почему, где бы диалоговое окно ни
встретилось, вы всегда получите справочную информацию с учетом контекста.
Известные применения
Паттерн цепочка обязанностей используется в нескольких библиотеках
классов для обработки событий, инициированных пользователем. Класс Handler
в них называется по-разному, но идея всегда одна и та же: когда пользователь щел-
кает кнопкой мыши или нажимает клавишу, генерируется некоторое событие,
которое распространяется по цепочке. В МасАрр [Арр89] и ЕТ++ [WGM88]
класс называется Event Handler, в библиотеке TCL фирмы Symantec [Sym93b]
Bureaucrat, а в библиотеке из системы NeXT [Add94] Responder.
В каркасе графических редакторов Unidraw определены объекты Command,
которые инкапсулируют запросы к объектам Component и Component View
[VL90]. Объекты Command - это запросы, которые компонент или вид компонен-
та могут интерпретировать как команду на выполнение определенной операции.
Это соответствует подходу «запрос как объект», описанному в разделе «Реализа-
ция». Компоненты и виды компонентов могут быть организованы иерархически.
Как компонент, так и его вид могут перепоручать интерпретацию команды своему
родителю, тот - своему родителю и так далее, то есть речь идет о типичной цепоч-
ке обязанностей.
В ЕТ++ паттерн цепочка обязанностей применяется для обработки запро-
сов на обновление графического изображения. Графический объект вызывает опе-
рацию InvalidateRect всякий раз, когда возникает необходимость обновить
Download 6,32 Mb.

Do'stlaringiz bilan baham:
1   ...   175   176   177   178   179   180   181   182   ...   273




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish