Шаблоны, где изначально документированы для архитектуры. В архитектуре применяются к вещам, начиная от размещения двери в комнате до планировки деревни.
«Банда четырех» применила эту идею к объектно-ориентированному программированию. Может быть более одного шаблона, который можно использовать для решения проблемы, но каждый шаблон будет иметь конкретную реализацию. Шаблоны существуют в других подходах к программированию, но я не знаю ни одной подходящей книги. Как уже упоминалось, Шаблоны охватывают конкретные реализации. Использование шаблона, когда он не применяется, часто рассматривается как анти-шаблон.
Принципы не охватывают реализацию, хотя могут быть стандартные подходы к реализации. Принципы больше касаются общих вопросов, а не конкретных проблем. Для Inversion of Control мне известны как минимум три подхода к реализации. Что касается СУХОГО (не повторяйте себя), я не знаю ни одного конкретного подхода к реализации, хотя я использую несколько.
Рассмотреть возможность
- Вас попросили использовать шаблон, подобный шаблону абстрактной фабрики, в качестве единственного подхода для разработки программы. Было бы это уместно? Нет, тогда это скорее паттерн.
- Вас попросили применить СУХОЙ ко всем компонентам? Будет ли это уместно? Да, тогда это скорее будет Принцип.