Erich Gamma Ralph Johnson Richard Helm John Vlissides Addison-Wesley



Download 6,32 Mb.
Pdf ko'rish
bet91/273
Sana02.03.2022
Hajmi6,32 Mb.
#479589
1   ...   87   88   89   90   91   92   93   94   ...   273
Bog'liq
Priemioop

Паттерн Factory Method
Название и классификация паттерна
Фабричный метод - паттерн, порождающий классы.
Назначение
Определяет интерфейс для создания объекта, но оставляет подклассам реше-
ние о том, какой класс инстанцировать. Фабричный метод позволяет классу де-
легировать инстанцирование подклассам.


Порождающие паттерны
Известен также под именем
Virtual Constructor (виртуальный конструктор).
Мотивация
Каркасы пользуются абстрактными классами для определения и поддержания
отношений между объектами. Кроме того, каркас часто отвечает за создание са-
мих объектов.
Рассмотрим каркас для приложений, способных представлять пользователю
сразу несколько документов. Две основных абстракции в таком каркасе - это
классы Application и Document. Оба класса абстрактные, поэтому клиенты
должны порождать от них подклассы для создания специфичных для приложения
реализаций. Например, чтобы создать приложение для рисования, мы определим
классы DrawingApplication и DrawingDocument. Класс Application отве-
чает за управление документами и создает их по мере необходимости, допустим,
когда пользователь выбирает из меню пункт
 Open
(открыть) или New (создать).
Поскольку решение о том, какой подкласс класса Document инстанцировать,
зависит от приложения, то Application не может «предсказать», что именно по-
надобится. Этому классу известно лишь, когда нужно инстанцировать новый доку-
мент, а не какой документ создать. Возникает дилемма: каркас должен инстанциро-
вать классы, но «знает» он лишь об абстрактных классах, которые инстанцировать
нельзя.
Решение предлагает паттерн фабричный метод. В нем инкапсулируется ин-
формация о том, какой подкласс класса Document создать, и это знание выводит-
ся за пределы каркаса.
Подклассы класса Application переопределяют абстрактную операцию
CreateDocument таким образом, чтобы она возвращала подходящий подкласс
класса Document. Как только подкласс Application инстанцирован, он может
инстанцировать специфические для приложения документы, ничего не зная об их
классах. Операцию CreateDocument мы называем
 фабричным методом,
по-
скольку она отвечает за «изготовление» объекта.



Download 6,32 Mb.

Do'stlaringiz bilan baham:
1   ...   87   88   89   90   91   92   93   94   ...   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