Патерн Builder визначає процес поетапної побудови складного продукту. Після того як буде побудована остання його частина, продукт можна використовувати.
Наприклад, нам потрібно отримати документ що складається з заголовка, введення, змісту і футеру(нижній колонитул). Наш документ, це складний об'єкт. Що б був якийсь єдиний порядок складання документа, ми будемо використовувати патерн Builder.
Потрібно для реалізації:
- Клас Director, який буде розпоряджатися будівельником і віддавати йому команди в потрібному порядку, а будівельник буде їх виконувати;
- Базовий абстрактний клас Builder, який описує інтерфейс будівельника, ті команди, які він зобов'язаний виконувати;
- Клас ConcreteBuilder, який реалізує інтерфейс будівельника і взаємодіє зі складним об'єктом;
- Клас складного об'єкта Product.