@egorggegor

Flyweight. Зачем нужен UnsharedConcreteFlyweight и ConcreteFlyweight?

Не могу разобраться зачем нужен UnsharedConcreteFlyweight в паттерне Flyweight? Многие реализовывают этот паттерн без этого компонента. Как с ним быть и что он делает?

5d597f162ba48847494149.png
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
tumbler
@tumbler
бекенд-разработчик на python
Представьте, что у каждого экземпляра приспособленца должна быть ссылка на неизменяемую матрицу 10k x 10k. Раз уж паттерн экономит память, то логично будет матрицу держать в единственном экземпляре, несмотря на наличие пула приспособленцев. Во в ConcreteFlyweight эта матрица и хранится. С другой стороны, зачем нужен пул объектов, если у них вообще все свойства одинаковые? Для хранения отличий используется UnsharedConcreteFlyweight.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы