Строитель (шаблон проектирования)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Шаблон проектирования
Строитель
Builder
Тип: Порождающий
Плюсы:

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

Дает более тонкий контроль над процессом конструирования, чем другие порождающие паттерны
Родственные шаблоны: Абстрактная фабрика, Компоновщик
Описан в Design Patterns Да

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

Цель[править | править код]

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

Плюсы[править | править код]

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

Применение[править | править код]

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

Применение[править | править код]

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

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

Примеры[править | править код]

Java[править | править код]



Scala[править | править код]

С#[править | править код]

C++[править | править код]

JavaScript[править | править код]

Python[править | править код]

PHP5[править | править код]

Ruby[править | править код]

Delphi[править | править код]

VB.NET[править | править код]

[1]

Примечания[править | править код]

Ссылки[править | править код]