Что предпочтительнее использовать ?
Или в каких случаях паттерн, а в каких конструктор ?
И в чем, собственно, их отличие (кроме реализации), основываясь на котором, можно решить когда где и что из них использовать ?
Простите, если глупый вопрос, т к я только начал изучать паттерны.
Тогда в каких случаях целесообразно использовать паттерн прототип? В чем его преимущества?
Просто я так понял, если не ошибаюсь, если наследники интерфейса прототип будут содержать в себе 1 и более новых данных, то все равно в наследниках придется реализовать конструктор копирования для клпирования новых данных.
Эдуард Матвеев, это надо брать книжку по паттернам программирования и читать - как правило после 30% описания паттерна далее следуют 65% описаний преимуществ и недостатков этого приема, ну и 5% примеров.
Паттерн (Design pattern/Шаблон проектирования) - как следует из названия, это подход к проектированию классов/архитектуры и т.п. и в разных языках может реализовываться с использованием разных инструментов языка.
Например, шаблон "Прототип", может быть реализован в С++ с использованием конструктора копирования.
Шаблоны позволяют эффективно решать типовые проблемы возникающие при продумывании архитектуры кода, до момента непосредственного написания кода, при этом ставится задача не "вписать" задачу в шаблоны, а упростить решение задачи используя шаблоны.
Таким образом выбор между шаблон или конструктор, по большей части не корректен.