Являются ли «Шаблон прототипа» и «Виртуальный конструктор» одинаковыми шаблонами? - PullRequest
1 голос
/ 28 мая 2019

Виртуальный конструктор - реализация virtual function clone():

class X {
public:
     virtual X* clone() {
         return new X(*this);
     }
};

означает ту же концепцию, что и шаблон проектирования прототипа?

1 Ответ

2 голосов
/ 28 мая 2019

... означает ту же концепцию, что и шаблон проектирования прототипа?

Нет, это не так.Клонируемый интерфейс является лишь частью реализации шаблона проектирования прототипа .

Точка Прототип - этоиметь Factory для хранения экземпляров прототипов и знает, какой из них использовать в качестве источника клонирования для создания новых экземпляров.

...