Паттерн (Design pattern/Шаблон проектирования) - как следует из названия, это подход к проектированию классов/архитектуры и т.п. и в разных языках может реализовываться с использованием разных инструментов языка.
Например, шаблон "Прототип", может быть реализован в С++ с использованием конструктора копирования.
Шаблоны позволяют эффективно решать типовые проблемы возникающие при продумывании архитектуры кода, до момента непосредственного написания кода, при этом ставится задача не "вписать" задачу в шаблоны, а упростить решение задачи используя шаблоны.
Таким образом выбор между шаблон или конструктор, по большей части не корректен.