Шаблон Прототип позволяет создавать новые объекты путем клонирования уже существующих. Данный шаблон используется в случаях, если: Прототип, как и многие другие порождающие шаблоны, скрывает реализацию создаваемого объекта. Нередко, создание нового объекта осуществляется вызовом метода клонируемого. Но возможны ситуации, когда в системе существует большое количество объектов-прототипов или есть необходимость в эталонных прототипах. В этих случаях, реализация шаблона Прототип может включать Фабричный метод или Абстрактную фабрику для создания, хранения и управления ими. При объединении Прототипа и параметризованного Фабричного метода можно получить интересную возможность динамически добавлять новые типы объектов, доступные для порождения. Пример будет приведен позже. Схожие шаблоны и их отличия Прототип: - Скрывает реализацию объекта. - Метод класса или интерфейса, может включать фабрику. - Создает копию объекта. Фабричный метод / Абстрактная фабрика: те-же пункты, за исключением того,