Принцип работы паттерна Builder заключается в том, что он позволяет поэтапно создавать сложные объекты с помощью чётко определённой последовательности действий. 2
Паттерн предлагает разбить процесс конструирования объекта на отдельные шаги (например, построить стены, вставить двери и другие). 3 Чтобы создать объект, нужно поочерёдно вызывать методы строителя. 3 Причём не нужно запускать все шаги, а только те, что нужны для производства объекта определённой конфигурации. 3
Зачастую один и тот же шаг строительства может отличаться для разных вариаций производимых объектов. 3 Например, деревянный дом потребует строительства стен из дерева, а каменный — из камня. 3 В этом случае можно создать несколько классов строителей, выполняющих одни и те же шаги по-разному. 3 Используя этих строителей в одном и том же строительном процессе, можно получать на выходе различные объекты. 3