Erich Gamma Ralph Johnson Richard Helm John Vlissides Addison-Wesley



Download 6,32 Mb.
Pdf ko'rish
bet114/273
Sana02.03.2022
Hajmi6,32 Mb.
#479589
1   ...   110   111   112   113   114   115   116   117   ...   273
Bog'liq
Priemioop

 Duplicate
(дублировать), - а не только для инстанциро-
вания.
В случае применения паттерна фабричный метод проект в большей степени
поддается настройке и оказывается лишь немногим более сложным. Другие пат-
терны нуждаются в создании новых классов, а фабричный метод - только в со-
здании одной новой операции. Часто этот паттерн рассматривается как стандарт-
ный способ создания объектов, но вряд ли его стоит рекомендовать в ситуации,
когда инстанцируемый класс никогда не изменяется или когда инстанцирование
выполняется внутри операции, которую легко можно заместить в подклассах (на-
пример, во время инициализации).
Проекты, в которых используются паттерны абстрактная фабрика, прототип
или строитель, оказываются еще более гибкими-, чем те, где применяется фабрич-
ный метод, но за это приходится платить повышенной сложностью. Часто
в начале работы над проектом за основу берется фабричный метод, а позже, когда
проектировщик обнаруживает, что решение получается недостаточно гибким, он
выбирает другие паттерны. Владение разными паттернами проектирования откры-
вает перед вами широкий выбор при оценке различных критериев.
Обсуждение порождающих паттернов


Глава 4. Структурные паттерны
В структурных паттернах рассматривается вопрос о том, как из классов и объектов
образуются более крупные структуры. Структурные паттерны уровня
 класса
используют наследование для составления композиций из интерфейсов и реали-
заций. Простой пример - использование множественного наследования для объе-
динения нескольких классов в один. В результате получается класс, обладающий
свойствами всех своих родителей. Особенно полезен этот паттерн, когда нужно
организовать совместную работу нескольких независимо разработанных библи-
отек. Другой пример паттерна уровня класса - адаптер. В общем случае адаптер
делает интерфейс одного класса (адаптируемого) совместимым с интерфейсом
другого, обеспечивая тем самым унифицированную абстракцию разнородных
интерфейсов. Это достигается за счет закрытого наследования адаптируемому
классу. После этого адаптер выражает свой интерфейс в терминах операций адапти-
руемого класса.
Вместо композиции интерфейсов или реализаций структурные паттерны уров-
ня
 объекта
компонуют объекты для получения новой функциональности. Допол-
нительная гибкость в этом случае связана с возможностью изменить композицию
объектов во время выполнения, что недопустимо для статической композиции
классов.
Примером структурного паттерна уровня объектов является компоновщик.
Он описывает построение иерархии классов для двух видов объектов: примитив-
ных и составных. Последние позволяют создавать произвольно сложные структу-
ры из примитивных и других составных объектов. В паттерне заместитель
объект берет на себя функции другого объекта. У заместителя есть много приме-
нений. Он может действовать как локальный представитель объекта, находяще-
гося в удаленном адресном пространстве. Или представлять большой объект, за-
гружаемый по требованию. Или ограничивать доступ к критически важному
объекту. Заместитель вводит дополнительный косвенный уровень доступа к от-
дельным свойствам объекта. Поэтому он может ограничивать, расширять или из-
менять эти свойства.
Паттерн приспособленец определяет структуру для совместного использо-
вания объектов. Владельцы разделяют объекты, по меньшей мере, по двум причи-
нам: для достижения эффективности и непротиворечивости. Приспособленец
акцентирует внимание на эффективности использования памяти. В приложени-
ях, в которых участвует очень много объектов, должны снижаться накладные рас-
ходы на хранение. Значительной экономии можно добиться за счет разделения
объектов вместо их дублирования. Но объект может быть разделяемым, только
если его состояние не зависит от контекста. У объектов-приспособленцев такой



Download 6,32 Mb.

Do'stlaringiz bilan baham:
1   ...   110   111   112   113   114   115   116   117   ...   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