Я читаю документы для прототипа шаблона …
Я вижу некоторые, где на веб-сайте (включая вопросы, задаваемые в stackoverflow) упоминается, что прототип используется для дублирования, а также заявляет, что прототип используется для операции клонирования …
что факт об этом ???
когда нужно выполнить клонирование, он должен вернуть тот же объект, а не новый (используемый в шаблоне прототипа), если он возвращает новый, тогда предложение дублирования является правильным ….
и если он возвращает этот (текущий объект), то предложение клонирования будет хорошо …
Я видел много примеров, а также их диаграммы UML, в UML упоминается в методе клонирования, что они возвращают этот объект (текущий или тот же объект), но в примере они дали новый объект, который будет совершенно новым объектом.
проверьте ссылки и посмотрите структурную схему, а также пример ссылки также посмотрите описание, которое они дали о прототипе
структурная схема ссылка: https://sourcemaking.com/design_patterns/prototype
пример ссылки: https://sourcemaking.com/design_patterns/prototype/cpp/1
Уточните мои сомнения по поводу дублирования объекта и клонирования объекта, так как, согласно моему пониманию, и то, и другое (дублирование и клонирование) не могут произойти в тех же примерах, которые приведены для образца-прототипа.
Обычно мы используем клон для кеширования (добавление чего-либо к существующему и использование только существующего), но в прототипе он полностью возвращает новый объект, поэтому неверно говорить, что прототип используется для кеширования объекта методом клона.
Прототип используется для дублирования, реальной жизни пример это овечка Долли.
Других решений пока нет …