Множество разных экранов в моем приложении снова и снова ссылаются на одну и ту же сущность / бизнес-объекты.
В настоящее время каждый экран ссылается на собственную копию каждого объекта.
Кроме того, объекты-сущности могут сами предоставлять доступ к другим объектам-сущностям, снова создаются новые копии объектов.
Я пытаюсь найти решение для кеширования.
Я ищу что-то похожее на boost :: flyweight.
Тем не менее, на основе неизменяемого ключа / изменяемого значения и подсчета ссылок.
boost::flyweight<key_value<long, SomeObject>, tag<SomeObject> > object;
Выше почти идеально.
Я ищу похожий контейнер, который даст изменчивый доступ к SomeObject
Edit:
Мне нравится синтаксис и семантика flyweight. Тем не менее, flyweight разрешает только const SomeObject и доступ, без шансов изменить объект.
Edit2: код должен компилироваться в MSVC ++ 6
Есть идеи?