866 подписчиков
Давайте представим, что у нас есть приложение с котиками. Каждый котик имеет имя, возраст, породу и любимую игрушку. В обычном подходе мы бы создали отдельный объект для каждого котика со всеми этими характеристиками. Но что если у многих котиков одна и та же любимая игрушка? Правда нужно создавать новую игрушку каждый раз, даже если у другого котика она такая же? Здесь на помощь приходит паттерн Легковес. Пример кода: https://github.com/Ladgertha/patterns/commit/fd784b8a7ff2811de2343b237a073967cfc15550...
6 месяцев назад
119 подписчиков
Легковес – это структурный паттерн проектирования, который позволяет вместить бóльшее количество объектов в отведённую оперативную память. Легковес экономит память, разделяя общее состояние объектов между собой, вместо хранения одинаковых данных в каждом объекте. Паттерн "Легковес" (Flyweight) предназначен для оптимизации использования памяти при работе с большим количеством мелких объектов, которые могут быть сгруппированы по определенным характеристикам. Это достигается за счет разделения внутреннего и внешнего состояния объектов...
3 месяца назад