Какова причина для названия шаблона дизайна Flyweight? - PullRequest
21 голосов
/ 07 декабря 2010

Я не являюсь носителем английского языка и, пытаясь лучше понять этот шаблон проектирования, мне интересно происхождение этого слова для обозначения шаблона. Каковы мотивы для этого имени?

Насколько мне известно, шаблон проектирования мухи касается способа поддержки большого количества мелкозернистых объектов с помощью совместного использования.

Однако определения, которые я нашел для этого конкретного слова (вес в полете), относятся к категории веса в боксе менее 112 фунтов.

Итак, почему шаблон так называется?

Извините, если это кажется глупым, но я действительно понятия не имею.

Ответы [ 3 ]

14 голосов
/ 07 декабря 2010

Вес в полете - это боксерская категория для людей с небольшим весом.

Шаблон веса в полете предназначен для "легких" объектов (хотя их много).

2 голосов
/ 07 декабря 2010

Шаблон flyweight используется для минимизации объема используемой памяти, когда вам нужно создать большое количество похожих объектов. Это достигается путем совместного использования экземпляров.

Название происходит от весовой классификации, как вы упоминаете, но относится к небольшому объему памяти. То есть память = вес.

2 голосов
/ 07 декабря 2010

Легкий вес - или легкий вес - предполагает, что созданные классы реализуют как можно меньше кода (и содержат как можно меньше данных), чтобы выполнить свою работу.

Создание (и создание экземпляров, и передача их) и их обслуживание, таким образом, проще - подобно поднятию практически пустой коробки.

Это в отличие от тяжелого класса, который может обернуть многоданные и содержат много кода.

...