призначення
Задає види створюваних об'єктів за допомогою примірника-прототипу і створює нові об'єкти шляхом копіювання цього прототипу.
Простіше кажучи, це патерн створення об'єкта через клонування іншого об'єкта замість створення через конструктор.
застосовність
Патерн використовується щоб:
- уникнути додаткових зусиль зі створення об'єкта стандартним шляхом (мається на увазі використання ключового слова 'new', коли викликається конструктор не тільки самого об'єкта, а й конструктори всій ієрархії предків об'єкта), коли це недозволено дорого для додатка.
- уникнути успадкування творця об'єкта (object creator) в клієнтському додатку, як це робить патерн abstract factory.
Використовуйте цей шаблон проектування, коли система не повинна залежати від того, як в ній створюються, компонуються і представляються продукти:
- інстанціруемие класи визначаються під час виконання, наприклад за допомогою динамічного завантаження;
- для того щоб уникнути побудови ієрархій класів або фабрик, паралельних ієрархії класів продуктів;
- екземпляри класу можуть знаходитися в одному з декількох різних станів. Може виявитися зручніше встановити відповідне число прототипів і клонувати їх, а не інстанціювати кожен раз клас вручну в потрібному стані.
Приклад на C ++
Дивитися що таке "Прототип (шаблон проектування)" в інших словниках:
Шаблон проектування - Цей термін має також інші значення див. Патерн. У розробці програмного забезпечення, шаблон проектування або патерн (англ. Design pattern) повторимо архітектурна конструкція, що представляє собою рішення проблеми ... ... Вікіпедія
Інтерфейс (шаблон проектування) - Шаблон проектування Інтерфейс Interface Описано в Design Patterns Ні В інформатиці, шаблон інтерфейсу не є особливим шаблоном серед шаблонів проектування. Він є загальним методом для структурування комп'ютерних програм для того ... Вікіпедія
Хранитель (шаблон проектування) - Шаблон проектування Хранитель Memento Тип: поведінковий Описано в Design Patterns Так Хранитель (також відомий як Memento, Token, Лексема) поведінковий шаблон проектування. Дозволяє, не порушуючи инкапсуляцию, зафіксо ... Вікіпедія
Итератор (шаблон проектування) - Шаблон проектування Итератор Iterator Тип: поведінковий Описано в Design Patterns Так Шаблон Iterator (також відомий як Cursor) Шаблон проектування, відноситься до паттернам поведінки. Являє собою об'єкт, що дозволяє отримати ... Вікіпедія
Інтерпретатор (шаблон проектування) - Шаблон проектування інтерпретатор Interpreter Тип: поведінковий Призначення: вирішує таку поширену, піддану змінам завдання Описано в Design Patterns Так Шаблон інтерпретатор (англ. ... Вікіпедія
Компоновщик (шаблон проектування) - Шаблон проектування Компоновщик Composite Тип: структурний Описано в Design Patterns Так Компоновщик (англ. Composite pattern) шаблон проектування, відноситься до структурних паттернам, об'єднує об'єкт ... Вікіпедія
Стан (шаблон проектування) - Шаблон проектування Стан State Тип: поведінковий Описано в Design Patterns Так Стан (англ. State) шаблон проектування. Використовується в тих випадках, коли під час виконання програми об'єкт ... Вікіпедія
Пристосуванець (шаблон проектування) - Шаблон проектування пристосуванець Flyweight Тип: структурний Описано в Design Patterns Так пристосуванець (англ. Flyweight) це об'єкт, який представляє себе як унікальний екземпляр в різних місцях програми, але по факту не ... ... Вікіпедія
Адаптер (шаблон проектування) - Цей термін має також інші значення див. Адаптер. Шаблон проектування Адаптер Adapter ... Вікіпедія
Команда (шаблон проектування) - Цей термін має також інші значення див. Команда. Шаблон проектування Команда Command Тип: поведінковий Призначення: для обробки команди у вигляді об'єкта ... Вікіпедія
- Прототип (шаблон проектування). Джессі Рассел. Ця книга буде виготовлена в відповідності з Вашим замовленням за технологією Print-on-Demand. High Quality Content by WIKIPEDIA articles! Прототип, (англ. Prototype) - породжує шаблон ... Детальніше Купити за тисячу сто двадцять п'ять руб