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