Какие паттерны я встречал в Java-разработке

Эта заметка — короткий ответ для собеседования. Важно не перечислить названия, а показать место и задачу.

ПаттернГде узнаю
Фасад Facadeapplication service объединяет несколько collaborators в один use case
Адаптер Adapterвнешний DTO или client приводится к внутреннему контракту
Заместитель ProxySpring добавляет transaction, security или aspect вокруг bean
Строитель Builderчитаемая сборка immutable-конфигурации
Фабричный метод Factory Methodреализация выбирает создаваемый обработчик
Стратегияалгоритм выбирается через общий interface
Цепочка обязанностей Chain of Responsibilityfilters, interceptors, validators
Шаблонный метод Template Methodframework фиксирует общий алгоритм и оставляет hooks
DAO Data Access Objectслой доступа скрывает технологию хранения

Как отвечаю

контекст
→ проблема
→ роли паттерна
→ почему простого вызова было мало
→ цена решения

Пример: «В Spring transaction advice работает через Proxy: клиент вызывает proxy, тот открывает транзакцию и делегирует target. Поэтому self-invocation обходит interception».

См. Паттерны Spring Framework, Паттерны Hibernate, Шаблоны проектирования.