Много разных экранов в моем приложении снова и снова ссылаются на одни и те же объекты/бизнес-объекты.
В настоящее время каждый экран ссылается на свою собственную копию каждого объекта.
Кроме того, объекты-объекты сами могут открыть доступ к другим объектам-сущностям, снова создаются новые копии объектов.
Я пытаюсь найти решение для кеширования.Дизайн кэша: мухи объектов изменяемых объектов на основе неизменяемого ключа
Я ищу что-то похожее на boost :: flyweight.
Однако, основываясь на неизменяемом ключе/изменяемом значении и подсчете ссылок.
boost::flyweight<key_value<long, SomeObject>, tag<SomeObject> > object;
Выше почти идеально. Я ищу аналогичный контейнер, который даст изменчивый доступ к SomeObject
Редактировать: Мне нравится синтаксис и семантика мухи. Тем не менее, мухи только позволяют const SomeObject & доступ, нет возможности изменить объект.
Edit2: Код должен составить на MSVC++ 6
Любые идеи?
«Выше почти идеально» - что с ним не так? –
flyweight только разрешает доступ const к объекту (const SomeObject &) –
Вы хотите, чтобы он был изменен, чтобы добавить внешнюю информацию на один километр или просто изменить общую внутреннюю информацию? – p00ya