Какие паттерны я встречал в Java-разработке
Эта заметка — короткий ответ для собеседования. Важно не перечислить названия, а показать место и задачу.
| Паттерн | Где узнаю |
|---|---|
| Фасад Facade | application service объединяет несколько collaborators в один use case |
| Адаптер Adapter | внешний DTO или client приводится к внутреннему контракту |
| Заместитель Proxy | Spring добавляет transaction, security или aspect вокруг bean |
| Строитель Builder | читаемая сборка immutable-конфигурации |
| Фабричный метод Factory Method | реализация выбирает создаваемый обработчик |
| Стратегия | алгоритм выбирается через общий interface |
| Цепочка обязанностей Chain of Responsibility | filters, interceptors, validators |
| Шаблонный метод Template Method | framework фиксирует общий алгоритм и оставляет hooks |
| DAO Data Access Object | слой доступа скрывает технологию хранения |
Как отвечаю
контекст
→ проблема
→ роли паттерна
→ почему простого вызова было мало
→ цена решенияПример: «В Spring transaction advice работает через Proxy: клиент вызывает proxy, тот открывает транзакцию и делегирует target. Поэтому self-invocation обходит interception».
См. Паттерны Spring Framework, Паттерны Hibernate, Шаблоны проектирования.