Erich Gamma Ralph Johnson Richard Helm John Vlissides Addison-Wesley



Download 6,32 Mb.
Pdf ko'rish
bet226/273
Sana02.03.2022
Hajmi6,32 Mb.
#479589
1   ...   222   223   224   225   226   227   228   229   ...   273
Bog'liq
Priemioop

Паттерны поведения
а
 поддержка широковещательных коммуникаций.
В отличие от обычного за-
проса для уведомления, посылаемого субъектом, не нужно задавать опреде-
ленного получателя. Уведомление автоматически поступает всем подписав-
шимся на него объектам. Субъекту не нужна информация о количестве
таких объектов, от него требуется всего лишь уведомить своих наблюдате-
лей. Поэтому мы можем в любое время добавлять и удалять наблюдателей.
Наблюдатель сам решает, обработать полученное уведомление или игнори-
ровать его;
а
 неожиданные обновления.
Поскольку наблюдатели не располагают информа-
цией друг о друге, им неизвестно и о том, во что обходится изменение субъек-
та. Безобидная, на первый взгляд, операция над субъектом может вызвать
целый ряд обновлений наблюдателей и зависящих от них объектов. Более
того, нечетко определенные или плохо поддерживаемые критерии зависи-
мости могут стать причиной непредвиденных обновлений, отследить кото-
рые очень сложно.
Эта проблема усугубляется еще и тем, что простой протокол обновления не
содержит никаких сведений о том, что
 именно
изменилось в субъекте. Без
дополнительного протокола, помогающего выяснить характер изменений,
наблюдатели будут вынуждены проделать сложную работу для косвенного
получения такой информации.
Реализация
В этом разделе обсуждаются вопросы, относящиеся к реализации механизма
зависимостей:
а
 отображение субъектов на наблюдателей.
С помощью этого простейшего
способа субъект может отследить всех наблюдателей, которым он должен по-
сылать уведомления, то есть хранить на них явные ссылки. Однако при на-
личии большого числа субъектов и всего нескольких наблюдателей это мо-
жет оказаться накладно. Один из возможных компромиссов в пользу
экономии памяти за счет времени состоит в том, чтобы использовать ассоци-
ативный массив (например, хэш-таблицу) для хранения отображения меж-
ду субъектами и наблюдателями. Тогда субъект, у которого нет наблюдате-
лей, не будет зря расходовать память. С другой стороны, при таком подходе
увеличивается время поиска наблюдателей;
а
 наблюдение более чем за одним субъектом.
Иногда наблюдатель может зави-
сеть более чем от одного субъекта. Например, у электронной таблицы быва-
ет более одного источника данных. В таких случаях необходимо расширить
интерфейс Update, чтобы наблюдатель мог «узнать»,
 какой
субъект прислал
уведомление. Субъект может просто передать себя в качестве параметра
операции Update, тем самым сообщая наблюдателю, что именно нужно об-
следовать;
а
 кто инициирует обновление.
Чтобы сохранить согласованность, субъект
и его наблюдатели полагаются на механизм уведомлений. Но какой именно
объект вызывает операцию-Notify для инициирования обновления? Есть
два варианта:



Download 6,32 Mb.

Do'stlaringiz bilan baham:
1   ...   222   223   224   225   226   227   228   229   ...   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