Erich Gamma Ralph Johnson Richard Helm John Vlissides Addison-Wesley



Download 6,32 Mb.
Pdf ko'rish
bet229/273
Sana02.03.2022
Hajmi6,32 Mb.
#479589
1   ...   225   226   227   228   229   230   231   232   ...   273
Bog'liq
Priemioop

Паттерн Observer
У класса ChangeManager есть три обязанности:
- строить отображение между субъектом и его наблюдателями и предо-
ставлять интерфейс для поддержания отображения в актуальном состоя-
нии. Это освобождает субъектов от необходимости хранить ссылки на
своих наблюдателей и наоборот;
- определять конкретную стратегию обновления;
- обновлять всех зависимых наблюдателей по запросу от субъекта.
На следующей диаграмме представлена простая реализация паттерна на-
блюдатель с использованием менеджера изменений ChangeManager. Име-
ется два специализированных менеджера. SimplechangeManager всегда
обновляет всех наблюдателей каждого субъекта, a DAGChangeManager обра-
батывает направленные ациклические графы зависимостей между субъектами
и их наблюдателями. Когда наблюдатель должен «присматривать» за несколь-
кими субъектами, предпочтительнее использовать DAGChangeManager. В этом
случае изменение сразу двух или более субъектов может привести к избыточ-
ным обновлениям. Объект DAGChangeManager гарантирует, что наблюдатель
в любом случае получит только одно уведомление. Если обновление одного
и того же наблюдателя допускается несколько раз подряд, то вполне достаточ-
но объекта SimplechangeManager.
ChangeManager - это пример паттерна посредник. В общем случае есть
только один объект ChangeManager, известный всем участникам. Поэтому
полезен будет также и паттерн одиночка;
а
 комбинирование классов Subject и Observer,
В библиотеках классов, которые на-
писаны на языках, не поддерживающих множественного наследования (на-
пример, на Smalltalk), обычно не определяются отдельные классы Subject
и Observer. Их интерфейсы комбинируются в одном классе. Это позво-
ляет определить объект, выступающий в роли одновременно субъекта


Паттерны поведения
и наблюдателя, без множественного наследования. Так, в Smalltalk интерфей-
сы Sub j ect и Observer определены в корневом классе Obj ect и потому до-
ступны вообще всем классам.

Download 6,32 Mb.

Do'stlaringiz bilan baham:
1   ...   225   226   227   228   229   230   231   232   ...   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