Обзор темы [Шаблоны проектирования]

Затем: МотивацияНазначение

Обеспечивает интерфейс для создания семейств связанных или зависимых объектов без определения конкретных классов.

Затем: СтруктураМотивация

Рассмотрим набор интерфейсов пользователя, поддерживающий несколько стандартов look and feel, таких как Motif и Presentation Manager. Различные look and feel определяют различные представления и поведения элементов интерфейса пользователя (widgets - полосы прокрутки, окна, и кнопки). Для обеспечения переносимости на множестве этих стандартов, приложение не должно иметь жесткий код своих widget-ов. Кроме того, создание объектов widget-ов из самого приложения затрудняет изменение look and feel в последствии.

Мы можем решить эту проблему определив абстрактный класс WidgetFactory. Этот класс описывает интерфейс для создания каждого вида widget. Для каждого вида widget существует свой абстрактный класс, а конкретные подклассы определяют widget для специфических стандартов look and feel. Интерфейс WidgetFactory имеет методы, возвращающие новые объекты widget каждого абстрактного класса. Клиент вызывает эти методы, но не знает какие конкретно классы он использует. Таким образом, клиент, не зависит от текущего представления look and feel..

WidgetFactory также описывает зависимости между конкретными widget классами. Полоса прокрутки Motif должна использоваться с кнопкой Motif и редактором текста Motif, и это ограничение предписывается автоматически как следствие использования MotifWidgetFactory.

Затем: Составные частиСтруктура

Составные части