Вопрос

В чем разница между шаблоном Builder и шаблоном Flyweight с точки зрения использования, поскольку оба они работают с большим количеством объектов?

Это было полезно?

Решение

Шаблон Builder используется для создавать множество объектов, при этом шаблон «Милегвес» примерно делиться такая коллекция предметов.

Оба эти шаблона имеют дело с «композитами», т.е.объекты, которые могут иметь несколько элементов, но их вообще не обязательно использовать вместе.Архетипический вариант использования наилегчайшего веса: пул из нескольких десятков персонажей-объектов используются снова и снова в приложении текстового редактора (это пример, приведенный в книга "ГоФ")

Другие советы

Прямо из википедии.

Наилегчайший вес

Легкий вес - это шаблон проектирования программного обеспечения.Весплав - это объект, который сводит к минимуму использование памяти, делясь как можно большим количеством данных с другими подобными объектами;Это способ использовать объекты в больших числах, когда простое повторное представление будет использовать недопустимое количество памяти.

Строитель

Узор застройщика - это шаблон проектирования программного обеспечения.Намерение состоит в том, чтобы абстрагировать этапы построения объектов, чтобы различные реализации этих шагов могли построить различные представления объектов.

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

Образец пролета уместен, когда «многие объекты должны манипулировать, и они не могут позволить себе иметь посторонние данные». В Java объекты строки управляются как вес в полусреднем весе.Java помещает все фиксированные строковые литералы в пул литералов.Для избыточных литералов Java хранит в пуле только одну копию.

Ключом к обеспечению работоспособности легковеса является управление созданием экземпляров объектов с помощью фабричного метода или шаблона проектирования построителя.Задача фабричного метода — просто создавать объекты:учитывая входные критерии, верните объект соответствующего типа.

Абстрактная фабрика похожа на строитель тем, что она также может создавать сложные объекты.Основное отличие состоит в том, что шаблон Builder фокусируется на пошаговом построении сложного объекта.Акцент абстрактного фактора делается на семействах объектов продукта (простых или сложных).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top