Строитель
Builder
Проблема
Требуется создавать в одном месте сложный объект, состоящий из множества подобъектов.
Назначение
Строитель (Builder) — это порождающий паттерн проектирования, который позволяет создавать сложные объекты, разбив процесс конструирования сложного объекта на отдельные шаги.
Решаемые задачи
Поэтапное создание сложного объекта
Появляется возможность создавать сложные объекты пошагово. Каждый шаг строителя определяет значения и настройки для соответствующей части объекта.
Отделение процесса контроля за созданием объекта от самого процесса создания объекта.
Одна сущность (строитель) определяет шаги конструирования объекта, в то время как другая сущность (директор) управляет последовательностью этих шагов, обеспечивая создание объекта с нужной конфигурацией.
UML диаграмма

Преимущества
Упрощение процесса создания сложных объектов.
Разделение процесса создания объекта и контроля за созданием объекта.
Недостатки
Усложнение кода из-за введения дополнительных иерархий классов.
Избыточность кода для создания простых объектов
Связь с другими паттернами
Паттерн Строитель может использоваться вместе с Фабричным методом для создания сложных объектов. "Фабричный метод" определяет интерфейс для создания взаимосвязанных объектов, а "Строитель" отвечает за создание отдельных частей сложного объекта.
Last updated
Was this helpful?