- Абстрактная фабрика
Позволяет создавать семейства связанных объектов, не привязываясь к конкретным классам создаваемых объектов.Пример: Инфраструктура для рендера нескольких видов шаблонов (Twig и Blade).
- Строитель
Позволяет создавать сложные объекты пошагово. Строитель даёт возможность использовать один и тот же код строительства для получения разных представлений объектов.Пример: Постройка запросов Sql. Реализуем общий интерфейс и имплементим от него класс, реализуя методы работы с БД. Каждый метод должен возвращать объект строителя, чтобы не рвать цепочку
- Фабричный метод
Определяет общий интерфейс для создания объектов в суперклассе, позволяя подклассам изменять тип создаваемых объектов.Пример: Интерфейс для создания коннекторов к разным соц сетям. Создается абстрактный класс в котором пишется абстрактный метод, возвращающий класс-коннектор. Классы коннекторы реализуют один и тот же интерфейс изменяя реализацию исходя их особенностей подключения к АПИ
- Прототип
Позволяет копировать объекты, не вдаваясь в подробности их реализации.Пример: Клонирование объекта страницы, у которой есть внутренний объект Автор. С помощью магического метода _clone копируем объект с теми особенностями, которые нам требуются
- Одиночка
Гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа.Пример: Реализация класса для работы с БД, либо класса для работы со сторонним АПИ