Будівник (шаблон проектування)

Матеріал з Вікіпедії — вільної енциклопедії.

Будівник (англ. Builder) - шаблон проектування, відноситься до класу твірних шаблонів.

Зміст

[ред.] Призначення

Відокремлює конструювання складного об'єкту від його подання, таким чином у результаті одного й того ж процесу конструювання можуть бути отримані різні подання.

[ред.] Мотивація

[ред.] Застосовність

Слід використовувати шаблон Будівник коли:

  • алгоритм створення складного об'єкту не повинен залежати від того, з яких частин складається об'єкт та як вони стикуються поміж собою;
  • процес конструювання повинен забезпечити різні подання об'єкту, що конструюється.

[ред.] Структура

UML діаграма, що описує структуру шаблону проектування Будівник
UML діаграма, що описує структуру шаблону проектування Будівник
  • Builder – будівник:
    • визначає абстрактний інтерфейс для створення частин об'єкту Product;
  • ConcreteBuilder – конкретний будівник:
    • конструює та збирає докупи частини продукту шляхом реалізації інтерфейсу Builder;
    • визначає подання, що створюється, та слідкує на ним;
    • надає інтерфейс для доступу до продукту;
  • Director – управитель:
    • конструює об'єкт, користуючись інтерфейсом Builder;
  • Product – продукт:
    • подає складний конструйований об'єкт. ConcreteBuilder будує внутрішнє подання продукту та визначає процес його зборки;
    • вносить класи, що визначають складені частини, у тому числі інтерфейси для зборки кінцевого результату з частин.

[ред.] Відносини

  • клієнт створює об'єкт-управитель Director та конфігурує його потрібним об'єктом-будівником Builder;
  • управитель повідомляє будівника про те, що потрібно побудувати наступну частину подукту;
  • будівник оброблює запити управителя та додає нові частини до продукту;
  • клієнт забирає продукт у будівника.
UML діаграма, що описує взаємовідносини між будівником та клієнтом
UML діаграма, що описує взаємовідносини між будівником та клієнтом

[ред.] Джерела

  • Design Patterns: Elements of Reusable Object-Oriented Software