Не смотрите на это с точки зрения того, какие шаблоны использовать с вашим подходом к разработке, а смотрите больше на то, как применять шаблоны на основе проблем. Архитектурные решения, принятые для проекта, дают столько же указаний на то, какие шаблоны использовать, как будет диктовать опыт других людей.
Тем не менее, я обнаружил, что я поклонник модели провайдера, поскольку у меня есть несколько вариантов выполнения одной задачи с добавлением простоты развертывания. Кроме того, шаблон единицы работы отлично подходит для установки границ транзакций. В целом, однако, архитектура и бизнес-потребности диктуют подход, который используется для любого изменения кода или новой разработки.
Столько, сколько я люблю шаблоны, я всегда боюсь видеть их чрезмерным. Я лично видел людей, которые использовали их только ради их использования, и это фактически усложнило поддержку кода и стало более тесно связанным, чем следовало бы. Также полезно знать обе стороны аргумента шаблонов. Хорошее знание паттерна должно быть дополнено (часто само по себе паттерном) анти-паттерном знанием.