PassFront
  1. PassFront
  2. База знаний
  3. Порождающие паттерны

Что такое паттерн проектирования и зачем он нужен?

Порождающие паттерны

Паттерн проектирования — проверенное типовое решение повторяющейся проблемы дизайна, а не готовый код: он описывает роли объектов, их связи и компромиссы решения.

Зачем они нужны

  • Общий словарь: фраза «тут нужен Observer» заменяет абзац объяснений.
  • Чужой опыт: решения проверены в тысячах проектов до нас.
  • Точки расширения: паттерны размечают, где система предполагает изменения.

Классификация GoF

  • Порождающие — как создаются объекты: Factory, Builder, Singleton.
  • Структурные — как составляются иерархии: Adapter, Decorator, Composite.
  • Поведенческие — как объекты взаимодействуют: Strategy, Observer, Command.

Оговорки

  • Паттерн — не цель: применение «потому что модно» плодит лишние классы и over-engineering.
  • В современных языках многие паттерны встроены: итератор — в цикл for-of, стратегия — просто функция.

Коротко для собеседования

Паттерн — это именованная схема решения типовой задачи проектирования, которую переносят между языками и проектами, а не библиотека для копирования. Главная польза — общий словарь команды; применять его стоит только под реальную проблему, иначе получится over-engineering.

Другие вопросы раздела