В сравнении с полностью самостоятельным проектированием, шаблоны обладают рядом преимуществ. Основная польза от использования шаблонов состоит в снижении сложности разработки за счёт готовых абстракций для решения целого класса проблем. Шаблон даёт решению своё имя, что облегчает коммуникацию между разработчиками, позволяя ссылаться на известные шаблоны. Таким образом, за счёт шаблонов производится унификация деталей решений: модулей, элементов проекта, — снижается количество ошибок. Применение шаблонов концептуально сродни использованию готовых библиотек кода. Правильно сформулированный шаблон проектирования позволяет, отыскав удачное решение, пользоваться им снова и снова. Набор шаблонов помогает разработчику выбрать возможный, наиболее подходящий вариант проектирования.
Однако с применением шаблонов могут быть связаны различные сложности. Во-первых, слепое следование некоторому выбранному шаблону может привести к усложнению программы. Во-вторых, у разработчика может возникнуть желание попробовать некоторый шаблон в деле без особых оснований. Само определение шаблона как «готового решения, но не прямого обращения к библиотеке» по сути означает отказ от повторного использования в пользу дублирования. И наконец, многообразие задач программирования, невозможно свести к рассмотренным шаблонам проектирования. Комбинация шаблонов проектирования может привести к возникновению нового шаблона. Появление новых задач программирования также приводит к появлению новых шаблонов. Поэтому говорить о количестве шаблонов проектирования не совсем корректно, их может быть бесконечное количество.
Здесь рассмотрим дополнительные шаблоны, которые не относятся к группе порождающих, структурных и поведенческих.