Слайд 2Builder
Паттерн, порождающий объекты
Отделяет конструирование сложного объекта от его представления, так что в
результате одного и того же процесса конструирования могут получаться разные представления
Слайд 3Область применения
Алгоритм создания сложного объекта не должен зависеть от того, из каких
частей состоит объект и как они стыкуются между собой
Процесс конструирования должен обеспечивать различные представления конструируемого объекта
Слайд 7Пример использования
Программа, в которую заложена возможность распознавания и чтения документа в формате
RTF, должна также «уметь» преобразовывать его в другие форматы
Слайд 8RTFReader – Распорядитель (Director)
TextConverter – Строитель (Builder)
TeXConverter, ASCIIConverter, TextWidgetConverter, … - Конкретный
Строитель (Concrete Builder)
TeXDocument, ASCIIDocument, TextWidgetDocument, … - Продукт (Product)
Слайд 9Достоинства и недостатки
+
Позволяет изменять внутреннее представление продукта
Изолирует код, реализующий конструирование и представление
Даёт
более тонкий контроль над процессом конструирования
-
ConcreteBuilder и создаваемый им продукт жёстко связаны между собой