Шаблоны проектирования впервые задокументированы четырьмя разработчиками C++ в их книге «Шаблоны проектирования», известной как «Банда четырех» (GoF). Это просто принцип, которому мы должны следовать при разработке приложений, это не библиотеки, которые мы будем использовать напрямую, и они будут творить чудеса.

Итак, в этом посте я собираюсь объяснить шаблоны проектирования, поскольку все мы знаем, что шаблоны проектирования очень важны для решения наиболее распространенных типов проблем при разработке любого приложения.

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

Итак, как мы знаем, шаблоны проектирования в основном относятся к трем категориям, и на основе требований мы создали эти категории.

  1. Творческий
  2. Поведенческие
  3. Структурный

Творческий шаблон проектирования

Таким образом, в шаблоне проектирования creative мы в основном создаем объект различных типов классов в соответствии с нашими вариантами использования.

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

В Java для создания объекта мы используем ключевое слово new. Но использовать его повсеместно неэффективно, а жесткое кодирование при разработке не рекомендуется, поэтому важно следовать шаблонам и использовать их для создания объектов.

Шаблон Factory
Шаблон Abstract Factory
Шаблон Singleton
Шаблон Builder
Шаблон прототипа
Шаблон пула объектов

Шаблон поведенческого проектирования

В поведенческих шаблонах проектирования нас интересует взаимодействие и ответственность объектов. означают, как объекты взаимодействуют друг с другом.

Это связано с распределением обязанностей между объектами. Что отличает их от структурных паттернов, так это то, что они не только определяют структуру, но и обрисовывают в общих чертах паттерны для передачи/общения между ними. Или, другими словами, они помогают ответить на вопрос «Как запустить поведение в программном компоненте?»

В этих шаблонах проектирования взаимодействие между объектами должно быть таким, чтобы они могли легко взаимодействовать друг с другом и при этом должны быть слабо связаны.

Шаблон наблюдателя
Шаблон стратегии
Шаблон нулевого объекта
Шаблон цепочки ответственности

Шаблон структурного проектирования

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

Просто «Как Объекты связаны друг с другом?»

Шаблоны структурного проектирования упрощают структуру, определяя взаимосвязи.

Эти шаблоны сосредоточены на том, как классы наследуются друг от друга и как они состоят из других классов.

Этот шаблон в основном фокусируется на отношениях между объектами, которые будут использоваться для создания более крупных структур.

Другими словами, как сущности могут использовать друг друга? Или еще одно объяснение: они помогают ответить на вопрос «Как создать программный компонент?».

Шаблон адаптера
Шаблон моста
Составной шаблон
Шаблон декоратора
Шаблон прокси
Шаблон фасада
Шаблон легковеса

Таковы основные шаблоны и их типы. Далее нам нужно подробно обсудить каждый из них.

Шаблон Builder
https://medium.com/shoutloudz/builder-design-pattern-in-java-67056b6dba94

Ссылка:

https://github.com/kamranahmedse/design-patterns-for-humans#behavioral-design-patterns

Спасибо за прочтение!!