Паттерн Prototype
Илья Смирнов, 244
Пример применения
Проблема
Проектирование каркаса:
Классы нот и нотных станов специфичны для нашего приложения, а класс инструментов, имеющих графическое представление, принадлежит каркасу. Этому классу ничего неизвестно о том, как создавать экземпляры наших различных музыкальных классов и добавлять их в партитуру.
Решение
Назначение
Задает виды создаваемых объектов с помощью экземпляра-прототипа и создает новые объекты путем копирования этого прототипа.
Применимость
Используйте паттерн прототип, когда система не должна зависеть от того, как в ней создаются, компонуются и представляются продукты
Структура
- объявляет интерфейс для клонирования самого себя;
- реализует операцию клонирования себя;
- создает новый объект, обращаясь к прототипу с запросом клонировать себя.
Плюсы
Минусы