Рубрики
Без рубрики

Группы из четырех (GoF) Шаблонов проектирования

Банды из четырех шаблонов проектирования-это коллекция из 23 шаблонов проектирования из книги “Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения”. Этот

Автор оригинала: Pankaj Kumar.

Банды из четырех шаблонов проектирования-это коллекция из 23 шаблонов проектирования из книги “Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения”.

Эта книга была впервые опубликована в 1994 году и является одной из самых популярных книг для изучения шаблонов дизайна. Авторами книги были Эрих Гамма, Ричард Хелм, Ральф Джонсон и Джон Влиссайдс. Он получил прозвище “Банды из четырех шаблонов дизайна” из-за четырех авторов. Кроме того, он получил более короткое название “Шаблоны проектирования GoF”.

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

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

  1. Creational : Шаблоны проектирования, связанные с созданием объекта.
  2. Структурные : Шаблоны проектирования в этой категории имеют дело со структурой классов, такой как наследование и композиция.
  3. Поведенческий : Этот тип шаблонов проектирования обеспечивает решение для лучшего взаимодействия между объектами, как обеспечить связь и гибкость, чтобы легко расширяться в будущем.

Шаблоны Творческого Проектирования

В категории шаблоны креативного дизайна есть 5 шаблонов дизайна.

Одноэлементный шаблон ограничивает инициализацию класса, чтобы гарантировать, что может быть создан только один экземпляр класса. Синглтон
Фабричный шаблон берет на себя ответственность за создание экземпляра объекта из класса в фабричный класс. Фабрика
Позволяет нам создать фабрику для фабричных классов. Абстрактная фабрика
Создание объекта шаг за шагом и метод, чтобы, наконец, получить экземпляр объекта. Строитель
Создание нового экземпляра объекта из другого аналогичного экземпляра, а затем изменение в соответствии с нашими требованиями. Прототип

Структурные Шаблоны Проектирования

Существует 7 структурных шаблонов проектирования, определенных в книге “Банды четырех шаблонов проектирования”.

Обеспечивает интерфейс между двумя несвязанными сущностями, чтобы они могли работать вместе. Адаптер
Используется, когда нам нужно реализовать иерархию “часть-целое”. Например, диаграмма, составленная из других частей, таких как круг, квадрат, треугольник и т. Д. Составной
Предоставьте суррогат или заполнитель для другого объекта, чтобы контролировать доступ к нему. Полномочие
Кэширование и повторное использование экземпляров объектов, используемых с неизменяемыми объектами. Например, пул строк. Мушиный вес
Создание интерфейсов-оболочек поверх существующих интерфейсов для помощи клиентским приложениям. Фасад
Шаблон проектирования моста используется для отделения интерфейсов от реализации и сокрытия деталей реализации от клиентской программы. Мост
Шаблон дизайна декоратора используется для изменения функциональности объекта во время выполнения. Оформитель

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

Существует 11 поведенческих шаблонов проектирования, определенных в шаблонах проектирования GoF.

используется для создания заглушки метода шаблона и переноса некоторых шагов реализации на подклассы. Метод шаблона
используется для обеспечения централизованной среды связи между различными объектами в системе. Посредник
используется для достижения слабой связи при разработке программного обеспечения, когда запрос от клиента передается цепочке объектов для их обработки. Цепочка ответственности
полезно, когда вас интересует состояние объекта и вы хотите получать уведомления о любых изменениях. Наблюдатель
Шаблон стратегии используется, когда у нас есть несколько алгоритмов для конкретной задачи, и клиент решает, какая фактическая реализация будет использоваться во время выполнения. Стратегия
Шаблон команды используется для реализации слабой связи в модели запрос-ответ. Команда
Шаблон проектирования состояния используется, когда объект изменяет свое поведение в зависимости от своего внутреннего состояния. Государство
Шаблон посетителя используется, когда нам нужно выполнить операцию над группой объектов аналогичного типа. Посетитель
определяет грамматическое представление языка и предоставляет интерпретатора для работы с этой грамматикой. Переводчик
используется для обеспечения стандартного способа прохождения через группу объектов. Итератор
Шаблон дизайна памятки используется, когда мы хотим сохранить состояние объекта, чтобы мы могли восстановить его позже. Сувенир

Вывод

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