Описание тега flyweight-pattern

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

Как избежать создания нескольких экземпляров объекта?

Заработная плата работника рассчитывается из двух элементов - Basic а также StandardPoint, Один сотрудник будет получать один базовый и один или несколько (или нет) StandardPoint каждый месяц. Существуют различные стандартные точки, а именно - StarP…
06 фев '14 в 14:38
1 ответ

Шаблон Flyweight и шаблоны C++

У меня есть легкий вес модели. У меня есть абстрактный класс Glyph. У меня есть класс Letter и абстрактный код, полученный из Glyph. У меня есть YusciiCode, UniCyrCode и UniLatCode, полученные из кода. Моя фабрика по навесу может быть сделана так: t…
11 сен '10 в 11:16
1 ответ

Легкая конструкция с использованием Swift SceneKit. Объект повторного использования

Я создаю приложение для iPhone с дополненной реальностью, и для его визуализации потребуется большое количество узлов SceneKit. Я хочу интегрировать шаблон проектирования Flyweight, описанный в " Шаблонах проектирования " Гаммой, Хелмом, Джонсоном и…
1 ответ

Как я могу предотвратить копирование объектов flyweight?

Я учусь, используя key_value flyweights, и я написал следующий код: #include <iostream> #include <string> #include <boost/flyweight.hpp> #include <boost/flyweight/key_value.hpp> #include <boost/flyweight/no_locking.hpp>…
08 мар '12 в 15:22
2 ответа

Flyweight: строки уже используют String pool: имеет ли смысл объединять объекты String для Flyweight?

Строки уже используют Flyweight Design Pattern. Будет ли это полезно / эффективно для объединения общих объектов String. Как строки будут уже вытащены из пула строк?
2 ответа

Как шаблон дизайна в полулегком поддерживает различные объекты?

(я нашел этот пример при чтении навесного веса) давайте предположим, что в игре есть объект под названием "воин", и этот объект отличается только расположением теперь мой вопрос если я собираюсь использовать образец навесного веса на этом объекте, я…
4 ответа

Какова причина для названия шаблона дизайна Flyweight?

Я не являюсь носителем английского языка, и, пытаясь лучше понять этот шаблон проектирования, меня интересует происхождение этого слова для обозначения шаблона. Каковы мотивы для этого имени? Насколько я знаю, шаблон проектирования flyweight связан …
07 дек '10 в 19:16
0 ответов

Пример шаблона конструкции для навесного веса

Согласно шаблону "Банды четырех", структура шаблона проектирования Flyweight гласит, что как конкретный Flyweight (внутреннее состояние), так и Unshared Concrete Flyweight (внешнее состояние) должны быть унаследованы от Flyweight. Подобную структуру…
02 июл '18 в 13:32
1 ответ

Пропуск лишней проверки с неизменными маховиками

У меня есть неизменный класс, который выглядит примерно так: final class Foo { private final String name; private final MutableObject mo; public Foo(String name, MutableObject mo) { mo = mo.clone(); if(!Foo.testValidity(mo)) // this test is very exp…
3 ответа

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

Из главы о FlyWeight Шаблон внутри " Банды четырех" Шаблон "FlyWeight" применим, когда большинство состояний объекта можно сделать внешними. Что значит extrinsic state имею в виду? У меня такое ощущение, что этот шаблон используется для обмена объек…
20 янв '13 в 14:49
3 ответа

В чем разница между шаблоном проектирования Flyweight и Java-кешем

Я прочитал о шаблоне проектирования Flyweight и узнал, что в нем хранятся объекты, которыми можно поделиться, чтобы сэкономить на использовании кучи. Java-кеш также сохраняет объекты, которые можно использовать позже для экономии памяти. Тогда в чем…
0 ответов

Соответствует ли WCF DataContracts шаблону Flyweight?

Если я использую шаблон flyweight для создания внутренних данных (включая большое изображение) в серии объектов, которые также содержат внешние данные, а затем передаю их с помощью WCF в качестве DataContracts, поддерживает ли клиент эффект шаблона …
11 апр '13 в 02:58
1 ответ

Мультитон

Я не вижу никакой разницы между Multiton а также Flyweight узоры. Пожалуйста, объясните, в чем разница?
1 ответ

Использование boost::flyweight<T> внутри struct T {} (т. Е. Рекурсивных весов)

Я пытаюсь определить неизменный тип значения пути к файлу, используя преимущество boost::flyweight для совместного использования компонентов пути. Что-то вроде этого: struct filepath_data; typedef boost::flyweight&lt;filepath_data&gt; filepath; stru…
22 дек '10 в 14:00
6 ответов

Существует ли какая-либо реализация шаблонов Java flyweight?

Я искал легкую реализацию шаблона и сдался после достижения страницы 20 поиска Google. Хотя существует бесчисленное множество глупых примеров, кажется, что никто и никогда не публиковал повторно используемую реализацию на Java. Для меня flyweight де…
27 июл '11 в 07:44
0 ответов

JavaScript + Node.js. Запрос шаблона мухи

Прорабатывая один из курсов Design Patterns, которые предлагает Pluralsight, он коснулся шаблона Flyweight с примером в узле. Приведенные в этом примере примеры контрастировали с тем, что вообще не использовали навесные весы с использованием навесно…
10 мар '18 в 03:28
1 ответ

Шаблон мухи - как хранить весы в структуре данных?

Пример реализации классического шаблона Flyweight из книги GoF хранит код символа только для разделяемых "символов" и использует "GlyphContext" для хранения внешнего состояния в древовидной структуре. В этом примере также упоминаются строки и столбц…
07 апр '11 в 14:34
1 ответ

Дизайн текстового процессора

Я наткнулся на вопрос об интервью с просьбой разработать текстовый процессор. После моего исследования я нашел шаблон проектирования Flyweight в качестве подхода. Я пришел с кодом ниже (игнорировать синтаксис). Но мне трудно думать о том, что будет …
27 июн '13 в 12:17
3 ответа

Синтаксический анализ XML DOM с использованием Flyweight Design

Обработка XML-документов в Java с использованием DOM может быть чрезмерно интенсивной памятью для документов, которые содержат большое количество повторяющихся узлов, атрибутов или значений. Кто-нибудь знает API Java XML DOM, который использует шабл…
11 июл '13 в 12:43
1 ответ

Дилемма узкого веса

Этот урок по Flyweight DP показывает хорошее объяснение модели Flyweight. В любом случае, скажем, что мы хотим изменить размер шрифта this.height = 200; (предположим, что свойства не защищены). Это означает, что все размеры шрифта будут изменены, та…
02 июн '18 в 15:27