Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Паттерн Abstract Factory

Читайте также:
  1. A). Form abstract nouns from these verbs
  2. A). Form abstract nouns from these verbs
  3. ABSTRACT
  4. Abstract and Keywords
  5. Abstract and Keywords
  6. Abstract and Keywords
  7. Abstract and Keywords
  8. Abstract and Keywords
  9. Abstract and Keywords
  10. Abstract and Keywords

Название и классификация паттерна

Абстрактная фабрика - паттерн, порождающий объекты.

Назначение

Предоставляет интерфейс для создания семейств взаимосвязанных или взаи­мозависимых объектов, не специфицируя их конкретных классов.

Известен также под именем

Kit (инструментарий).


Порождающие паттерны

 



Мотивация

Рассмотрим инструментальную программу для создания пользовательского интерфейса, поддерживающего разные стандарты внешнего облика, например Motif и Presentation Manager. Внешний облик определяет визуальное представле­ние и поведение элементов пользовательского интерфейса («виджетов») - полос прокрутки, окон и кнопок. Чтобы приложение можно было перенести на другой стандарт, в нем не должен быть жестко закодирован внешний облик виджетов. Если инстанцирование классов для конкретного внешнего облика разбросано по всему приложению, то изменить облик впоследствии будет нелегко.

Мы можем решить эту проблему, определив абстрактный класс WidgetFac tory, в котором объявлен интерфейс для создания всех основных видов виджетов. Есть также абстрактные классы для каждого отдельного вида и конкретные под­классы, реализующие виджеты с определенным внешним обликом. В интерфейсе WidgetFactory имеется операция, возвращающая новый объект-виджет для каждого абстрактного класса виджетов. Клиенты вызывают эти операции для получения экземпляров виджетов, но при этом ничего не знают о том, какие имен­но классы используют. Стало быть, клиенты остаются независимыми от выбран­ного стандарта внешнего облика.

Для каждого стандарта внешнего облика существует определенный подкласс WidgetFactory. Каждый такой подкласс реализует операции, необходимые для со­здания соответствующего стандарту виджета. Например, операция Great eScrollBar в классе Mot if Widget Fac tory инстанцирует и возвращает полосу прокрутки в стандарте Motif, тогда как соответствующая операция в классе PMWidgetFactory возвращает полосу прокрутки в стандарте Presentation Manager. Клиенты созда­ют виджеты, пользуясь исключительно интерфейсом WidgetFactory, и им ни­чего не известно о классах, реализующих виджеты для конкретного стандарта. Другими словами, клиенты должны лишь придерживаться интерфейса, опреде­ленного абстрактным, а не конкретным классом.


 



Дата добавления: 2015-09-11; просмотров: 83 | Поможем написать вашу работу | Нарушение авторских прав

Поддержка нескольких стандартов внешнего облика | Поддержка нескольких оконных систем | Проектирование редактора документов | Подклассы Windowlmp | Операции пользователя | Операции пользователя | Правописание и расстановка переносов | Паттерн итератор | Проектирование редактора документов | Глава 3. Порождающие паттерны |


lektsii.net - Лекции.Нет - 2014-2025 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав