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

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

Паттерн Prototype

Читайте также:
  1. Prototype
  2. Введение в паттерны проектирования
  3. Введение в паттерны проектирования
  4. Введение в паттерны проектирования
  5. Введение в паттерны проектирования
  6. Введение в паттерны проектирования
  7. Введение в паттерны проектирования
  8. Гдд Паттерны поведения
  9. Глава 1. Введение в паттерны проектирования
  10. Глава 3. Порождающие паттерны

всех объектов, представляющих классы). Он позволяет классу использовать спе­циализированный анализатор своего исходного кода. Например, клиент может опре­делить класс SQLParser для анализа исходного кода класса, содержащего встроен­ные предложения на языке SQL. Класс Behavior реализует par ser Class так, что тот возвращает стандартный для Smalltalk класс анализатора Parser. Класс же, включающий предложения SQL, замещает этот метод (как метод класса) и во­звращает класс SQLParser.

Система Orbix ORB от компании IONA Technologies [ION94] использует фаб­ричный метод для генерирования подходящих заместителей (см. паттерн замес­титель) в случае, когда объект запрашивает ссылку на удаленный объект. Фаб­ричный метод позволяет без труда заменить подразумеваемого заместителя, например таким, который применяет кэширование на стороне клиента.

Родственные паттерны

Абстрактная фабрика часто реализуется с помощью фабричных методов. Пример в разделе «Мотивация» из описания абстрактной фабрики иллюстри-. ет также и паттерн фабричные методы.

Паттерн фабричные методы часто вызывается внутри шаблонных методов. В примере с документами NewDocument - это шаблонный метод.

Прототипы не нуждаются в порождении подклассов от класса Creator. Од­нако им часто бывает необходима операция Initialize в классе Product. Treator использует Initialize для инициализации объекта. Фабричному методу такая операция не требуется.

Паттерн Prototype

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

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

Назначение

Задает виды создаваемых объектов с помощью экземпляра-прототипа и созда­ет новые объекты путем копирования этого прототипа.

Мотивация

Построить музыкальный редактор удалось бы путем адаптации общего кар­каса графических редакторов и добавления новых объектов, представляющих ноты, паузы и нотный стан. В каркасе редактора может присутствовать палитра инструментов для добавления в партитуру этих музыкальных объектов. Палитра может также содержать инструменты для выбора, перемещения и иных манипу­ляций с объектами. Так, пользователь, щелкнув, например, по значку четверти поместил бы ее тем самым в партитуру. Или, применив инструмент перемещения,: двигал бы ноту на стане вверх или вниз, чтобы изменить ее высоту.

Предположим, что каркас предоставляет абстрактный класс Graphic для гра­фических компонентов вроде нот и нотных станов, а также абстрактный класс





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

Порождающие паттерны | Паттерн Abstract Factory | Результаты | Порождающие паттерны | Паттерн Builder | Пример кода | Паттерн Builder | Назначение | Порождающие паттерны | Паттерн Factory Method |


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