junior
Что такое шаблон проектирования?
Шаблон (паттерн) проектирования – проверенное, типовое решение часто встречающейся проблемы проектирования. Не конкретный код, а концептуальный подход, адаптируемый под конкретную ситуацию.
Аналогия из жизни: паттерн – это как рецепт блюда. Рецепт не привязан к конкретной кухне или продуктам, но описывает последовательность шагов, которые дают предсказуемый результат.
Плюсы
- Готовые решения для типовых проблем – не нужно изобретать велосипед
- Общий словарь между разработчиками: “используем Strategy” понятнее, чем описание реализации
- Проверены временем и тысячами проектов
Минусы
- Слепое применение усложняет код (паттерн ради паттерна)
- Некоторые паттерны – следствие ограничений языка (в языках с first-class functions Strategy не нужен как отдельный класс)
На собеседовании: интервьюер хочет услышать определение и понимание того, что паттерн – это не готовый код, а концептуальная схема. Частая ошибка – перечислять паттерны вместо объяснения сути понятия.