Erich Gamma Ralph Johnson Richard Helm John Vlissides Addison-Wesley



Download 6,32 Mb.
Pdf ko'rish
bet151/273
Sana02.03.2022
Hajmi6,32 Mb.
#479589
1   ...   147   148   149   150   151   152   153   154   ...   273
Bog'liq
Priemioop

Структурные паттерны
инстанцировании объекта Compiler. Фасад компилятора можно параметризовать
и другими участниками, скажем, объектами Scanner и ProgramNodeBuilder, что
повышает гибкость, но в то же время сводит на нет основную цель фасада - предо-
ставление упрощенного интерфейса для наиболее распространенного случая.
Известные применения
Пример компилятора в разделе «Пример кода» навеян идеями из системы
компиляции языка ObjectWorks\Smalltalk [РагЭО].
В каркасе ЕТ++ [WGM88] приложение может иметь встроенные средства
инспектирования объектов во время выполнения. Они реализуются в отдельной
подсистеме, включающей класс фасада с именем ProgrammingEnvironment.
Этот фасад определяет такие операции, как InspectObject и InspectClass
для доступа к инспекторам.
Приложение, написанное в среде ЕТ++, может также запретить поддержку
инспектирования. В таком случае класс ProgrammingEnvironment реализует
соответствующие запросы как пустые операции, не делающие ничего. Только под-
класс ETProgrammingEnvironment реализует эти операции так, что они отобра-
жают окна соответствующих инспекторов. Приложению неизвестно, доступно
инспектирование или нет. Здесь мы встречаем пример абстрактной связанности
между приложением и подсистемой инспектирования.
В операционной системе Choices [CIRM93] фасады используются для состав-
ления одного каркаса из нескольких. Ключевыми абстракциями в системе Choices
являются процессы, память и адресные пространства. Для каждой из них есть соот-
ветствующая подсистема, реализованная в виде каркаса. Это обеспечивает поддерж-
ку переноса Choices на разные аппаратные платформы. У двух таких подсистем есть
«представители», то есть фасады. Они называются FileSystemlnterface (па-
мять) и Domain (адресные пространства).


Паттерн Flyweight
Например, для каркаса виртуальной памяти фасадом служит Domain. Класс
Domain представляет адресное пространство. Он обеспечивает отображение между
виртуальными адресами и смещениями объектов в памяти, файле или на устрой-
стве длительного хранения. Базовые операции класса Domain поддерживают до-
бавление объекта в память по указанному адресу, удаление объекта из памяти
и обработку ошибок отсутствия страниц.
Как видно из вышеприведенной диаграммы, внутри подсистемы виртуальной
памяти используются следующие компоненты:
Q MemoryObject представляет объекты данных;
a MemoryObj ectCache кэширует данные из объектов MemoryObj ects в фи-
зической памяти. MemoryObj ectCache - это не что иное, как объект Стра-
тегия, в котором локализована политика кэширования;
a AddressTranslat ion инкапсулирует особенности оборудования трансля-
ции адресов.
Операция RepairFault вызывается при возникновении ошибки из-за отсут-
ствия страницы. Domain находит объект в памяти по адресу, где произошла ошиб-
ка и делегирует операцию RepairFault кэшу, ассоциированному с этим объек-
том. Поведение объектов Domain можно настроить, заменив их компоненты.

Download 6,32 Mb.

Do'stlaringiz bilan baham:
1   ...   147   148   149   150   151   152   153   154   ...   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