Как правило, мы увидим проблемы во многих проектах, но в разных обстоятельствах. С точки зрения высокого уровня проблема та же, и решение тоже самое, но обстоятельства разные. Именно здесь появились стандартные решения (шаблоны) для решения этих проблем дизайна. Шаблоны проектирования — это не что иное, как решения общих проблем.

Шаблон проектирования — это не код или алгоритм. Это просто шаблон или процесс, в котором можно разработать решение, чтобы избежать общих проблем.

Это не значит, что во избежание этих проблем мы должны строго следовать шаблонам проектирования. Мы можем следовать существующему шаблону проектирования или использовать его, изменив его в соответствии с нашими бизнес-правилами, или мы можем разработать собственный шаблон проектирования. Единственное, что мы должны уметь определить, какой шаблон проектирования применим для проблемы, с которой мы сталкиваемся.

Типы шаблонов проектирования:

Шаблоны проектирования классифицируются в зависимости от их назначения. В основном существует три типа шаблонов проектирования.

Шаблоны создания:

Creational Patterns — это создание классов и объектов. Это повысит гибкость и возможность повторного использования существующего кода. Далее его можно разделить на создание классов и создание объектов.

  • Создание класса будет эффективно использовать наследование при создании экземпляра.
  • Создание объектов будет эффективно использовать делегирование для выполнения работы.

Ниже приведены паттерны, которые относятся к созидательным паттернам.

  1. Заводской метод
  2. Абстрактная фабрика
  3. Строитель
  4. Синглтон
  5. Пул объектов
  6. Прототип

Структурные шаблоны:

Структурные шаблоны — это композиция классов и объектов для создания более крупных структур, обеспечивающих новую функциональность. Эти структуры гибки и эффективны.

  • Шаблоны создания структурных классов используют наследование для создания интерфейсов.
  • Структурные шаблоны создания объектов определяют способы компоновки объектов для получения новой функциональности.

Ниже приведены шаблоны, которые относятся к структурным шаблонам.

  1. Адаптер
  2. Мост
  3. Композитный
  4. Декоратор
  5. Фасад
  6. Наилегчайший вес
  7. Данные частного класса
  8. Прокси

Поведенческие модели:

Поведенческие паттерны связаны с общением между объектами разных классов. Главной задачей является коммуникация и распределение обязанностей между объектами.

Ниже приведены модели, которые относятся к поведенческим моделям.

  1. Цепочка ответственности
  2. Команда
  3. Устный переводчик
  4. Итератор
  5. Медиатор
  6. Сувениры
  7. Нулевой объект
  8. Наблюдатель
  9. Состояние
  10. Стратегия
  11. Метод шаблона
  12. Посетитель