Что вы имеете в виду? Вы идентифицируете их, зная их, а затем видите признаки одного из них и собираете части вместе.
Иногда имя показательно, FooFactory
, и т.д.
Нет никакой "магии". Я не совсем понимаю смысл этого вопроса ...
Одна из самых важных вещей, которые паттерны проектирования дали нам, - это более унифицированный словарь. Любой (хорошо написанный) код, использующий определенный паттерн проектирования, должен где-то идентифицировать название паттерна.
Шаблон проектирования - это часть кода / архитектуры, предназначенная для решения определенной проблемы, которая полезна и абстрактно применима к той же проблеме в других областях. Если вы видите, что один и тот же код / архитектура используется в нескольких местах, это, вероятно, шаблон проектирования, хотя и не обязательно шаблон проектирования Банда четырех
Я бы начал с ознакомления с Кодовыми запахами . Очень типично, что паттерн улучшит / устранит запах кода. Еще один замечательный ресурс с некоторыми примерами реальной работы - это книга Refactoring to Patterns . В книге показан код с запахами и способы их исправления с помощью шаблонов.