Flyweight
Directory actions
More options
Directory actions
More options
Flyweight
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
Легковес — это структурный паттерн, который экономит память, благодаря разделению общего состояния, вынесенного в один объект, между множеством объектов. Легковес позволяет экономить память, кешируя одинаковые данные, используемые в разных объектах. Данный паттерн стоит применять только если Ваша программа содаёт огромное колличество одинаковых челове... объектов которые занимают очень много памяти. Пример взят с JavaRush, не считая мелких изменений, отдаем дань моде на толерантность Программа размещает 1_000_000 человечков на Swing панели JFrame В данном примере класс OrcType - Легковес в котором размещаются тяжелыые части объектов - цвет, текстура и тд. а затем сохраняются в коллекции orcTypes класса OrcFactory, за счет отсутствия повторяющихся ключей name в коллекции, мы экономим память. В данном примере было создано 6 типов орков, 6 объектов которые "абстракцируют", кэшируют тяжелые элементы объектов Orc. При создании объектов