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

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

Порождающий

Плюсы:

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

Родственные шаблоны:

Абстрактная фабрика, Компоновщик

Описан в Design Patterns

Да

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

Цель[править | править вики-текст]

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

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

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

Применение[править | править вики-текст]

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

Применение[править | править вики-текст]

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

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

Примеры[править | править вики-текст]

Java[править | править вики-текст]

Java[править | править вики-текст]

С#[править | править вики-текст]

C++[править | править вики-текст]

JavaScript[править | править вики-текст]

Python[править | править вики-текст]

PHP5[править | править вики-текст]

Ruby[править | править вики-текст]

Delphi[править | править вики-текст]

VB.NET[править | править вики-текст]

[1]

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

Ссылки[править | править вики-текст]