Строитель () — порождающий шаблон проектирования предоставляет способ создания составного объекта.

Цель Отделяет конструирование сложного объекта от его представления так, что в результате одного и того же процесса конструирования могут получаться разные представления.

Плюсы позволяет изменять внутреннее представление продукта; изолирует код, реализующий конструирование и представление; дает более тонкий контроль над процессом конструирования.

Минусы алгоритм создания сложного объекта не должен зависеть от того, из каких частей состоит объект и как они стыкуются между собой; процесс конструирования должен обеспечивать различные представления конструируемого объекта.

Применение

Объекты «моникер» в COM есть Строители, инициализируемые строкой. Более того, для их создания используется другой Строитель — MkParseDisplayNameEx, который определяет по строке класс моникера, создает моникер и инициализирует его этой же строкой.

Один из этих объектов, URL Moniker, используется для всей загрузки страниц, вложений и документов в Microsoft Internet Explorer.

Примеры

Java

Scala

С#

C++

JavaScript

Python

PHP5

Ruby

Delphi

VB.NET

Примечания

Ссылки [./Http://cpp-reference.ru/patterns/creational-patterns/builder/ Паттерн Builder (Строитель)] — назначение, описание, реализация (C++) и результаты применения

Категория:Шаблоны проектирования Категория:Статьи с примерами кода Ruby