<<  Фабричный метод [ Factory Method ] Результаты: Фабричный метод [ Factory Method ] Двойная иерархия:  >>
Фабричный метод соединяет параллельные иерархии

Фабричный метод соединяет параллельные иерархии. В примерах, которые мы рассматривали до сих пор, фабричные методы вызывались только создателем. Но это совершенно необязательно: клиенты тоже могут применять фабричные методы, особенно при наличии параллельных иерархий классов. Параллельные иерархии возникают в случае, когда класс делегирует часть своих обязанностей другому классу, не являющемуся производным от него. Рассмотрим, например, графические фигуры, которыми можно манипулировать интерактивно: растягивать, двигать или вращать с помощью мыши. Реализация таких взаимодействий с пользователем - не всегда простое дело. Часто приходится сохранять и обновлять информацию о текущем состоянии манипуляции. Но это состояние нужно только во время самой манипуляции, поэтому помещать его в объект, представляющий-фигуру, не следует. К тому же фигуры ведут себя по-разному, когда пользователь манипулирует ими. Например, растягивание отрезка может сводиться к изменению положения концевой точки, а растягивание текста - к изменению междустрочных интервалов. При таких ограничениях лучше использовать отдельный объект-манипулятор Manipulator, который реализует взаимодействие и контролирует его текущее состояние. У разных фигур будут разные манипуляторы, являющиеся подклассом Manipulator. Получающаяся иерархия класса Manipulator параллельна (по крайней мере, частично) иерархии класса Figure. Класс Figure предоставляет фабричный метод CreateManipulator, который позволяет клиентам создавать соответствующий фигуре манипулятор. Подклассы Figure замещают этот метод так, чтобы он возвращал подходящий для них подкласс Manipulator. Вместо этого класс Figure может реализовать CreateManipulator так, что он будет возвращать экземпляр класса Manipulator по умолчанию, а подклассы Figure могут наследовать это умолчание. Те классы фигур, которые функционируют по описанному принципу, не нуждаются в специальном манипуляторе, поэтому иерархии параллельны только отчасти.

Слайд 12 из презентации «Типовые решения проектирования»

Размеры: 720 х 540 пикселей, формат: .jpg. Чтобы бесплатно скачать слайд для использования на уроке, щёлкните на изображении правой кнопкой мышки и нажмите «Сохранить изображение как...». Скачать всю презентацию «Типовые решения проектирования.ppt» можно в zip-архиве размером 331 КБ.

Похожие презентации

краткое содержание других презентаций на тему слайда

«Параллельный перенос в пространстве» - Параллельный перенос в пространстве. Параллельный перенос различных фигур. Движение в пространстве Параллельный перенос. Параллельный перенос.

«Параллельные алгоритмы» - Обработка порции. Заключение. Синхронизация. R – размер порции. Потери времени на передачу данных между процессами Процессор 1 Процессор 2. Спекулятивное вычисление двух сумм. Контакты. N – ширина стены к – высота стены. Обмен данными. Вопросы для обсуждения. В чем отличие методов статической и динамической балансировки загрузки?

«Параллельное и последовательное соединение» - В основе любых электрических цепей лежат последовательное и параллельное соединение проводников. Параллельное соединение проводников. Смешанное соединение проводников. Особенности параллельного соединения. Задание: выделить в схемах участок параллельного соединения проводников. Применение последовательного соединения.

«Параллельные плоскости 10 класс» - 1. Отрезки параллельных прямых, заключенные между параллельными плоскостями, равны. Взаимное расположение плоскостей. Теорема. Две плоскости не пересекаются. Две плоскости не параллельны. Свойства параллельных плоскостей. Две плоскости пересекаются по прямой. Параллельность плоскостей.

«Параллельные плоскости» - Определение. Сформировать навыки применения признака при решении задач. Подведение итогов. Взаимное расположение двух плоскостей в пространстве. Теорема. Две плоскости в пространстве называются параллельными, если. Цели урока: Каково взаимное расположение данной прямой и второй диагонали? Прямая пересекает две стороны треугольника.

«Параллельное и последовательное соединение цепи» - Применение последовательного и параллельного соединений. 4.Как обозначается амперметр на схемах? Последовательное соединение. 3.Как включается в цепь вольтметр? Определите показания вольтметра V и амперметров А2 и А3. Два резистора, сопротивления которых 5 Ом и 10 Ом, подключены параллельно к батарейке.

Графика

7 презентаций о графике
Урок

Черчение

7 тем