Builder — это порождающий паттерн, который позволяет пошагово создавать сложные объекты, отделяя процесс конструирования от его представления. Он предоставляет интерфейс для пошагового построения объекта, а различные конкретные строители (Concrete Builders) реализуют этот интерфейс для создания различных представлений одного и того же объекта.
Суть Builder в следующем:
Пример: Создание объекта Pizza с различными ингредиентами.
java
В данном примере PizzaBuilder определяет шаги построения пиццы. MargheritaPizzaBuilder реализует эти шаги для создания пиццы "Маргарита". Director (здесь простой) координирует процесс построения. Клиент не напрямую создает объект Pizza, а использует Builder.