user not logged
← Previous page Next page →

Шаблон "Строитель"

Design Patterns
Author:Анатолий Тутов Timestamp:27 / 10 / 2006 @ 18:42:00
Tags: creational patterns, object-oriented design, programming

Строитель (The Builder pattern)

Этот шаблон подобен шаблону «Фабрика» с тем отличием, что позволяет возвращать не просто различные объекты одного семейства, но совершенно разные объекты и их агрегации.
Например, отображая в окне содержимое записи в адресной книге, соответствующей одному человеку, или содержимое группы таких записей, мы получим два совершенно различных по составу отображения. Однако создать оба этих отображения может один класс.
Скажем, нам необходимо создать интерфейсное отображение для двух различных объектов. Один из объектов отрисовывается в виде списка с множественным выбором. Второй — в виде группы чекбоксов(checkbox). Конечно же и список, и группа чекбоксов будут реализованы как отдельные объекты. А третий объект — простая реализация шаблона Фабрика будет создавать тот или иной объект интерфейса. В этом случае Фабрика — это «архитектор» или «подрядчик». А каждый из классов отвечающих за конкретный вид — Строители.


    Выводы:
  1. Шаблон Строитель позволяет варьировать внутреннее представление того, что он «строит». Также он позволяет сокрыть детали процесса создания «продукта».
  2. Каждый отдельный Строитель независим от других и от всей остальной программы, что позволяет улучшить модульность программы и упростить создание других Строителей.
  3. Поскольку каждый строитель контролирует пошаговую «сборку» конечного «продукта», основываясь на входных данных, любым из таких «продуктов» становится проще управлять.

Add new comment

Your name:
*Email:
Homepage:
Subject:
*Comment:
 
* denotes required field
← Previous page Next page →

Where am I?

This is an individual post page where its content and comments are located.

Powered by: Motoko Blog System 0.9.5 beta | Used theme: Proximity One
Page generation time: 0.16 s | SQL requests number: 7 | Timestamp: 05:10:58, 23-02-2012
May the force be with you