Un grand nombre d'écrans différents dans mon application font référence à la même entité/objets métier encore et encore.
Actuellement, chaque écran fait référence à leur propre copie de chaque objet.
En outre, les objets d'entité peuvent eux-mêmes exposer l'accès à d'autres objets d'entité, à nouveau de nouvelles copies d'objets sont créées.
J'essaie de trouver une solution de mise en cache.Conception du cache: poids mouche des objets entité mutables basés sur une clé immuable
Je cherche quelque chose de similaire à boost :: flyweight.
Cependant, basé sur la valeur de clé/mutable immuable et la référence comptée.
boost::flyweight<key_value<long, SomeObject>, tag<SomeObject> > object;
Ce qui précède est presque parfait. Je suis à la recherche d'un conteneur similaire qui donnera un accès mutable à SomeObject
Édition: J'aime la syntaxe et la sémantique du flyweight. Cependant, mouche poids ne permet que const SomeObject & accès, aucune chance de modifier l'objet.
Edit2: Code doit compiler sur MSVC++ 6
Toutes les idées?
"Ce qui précède est presque parfait" - qu'est-ce qui ne va pas? –
poids mouche permet uniquement l'accès const à l'objet (const SomeObject &) –
voulez-vous qu'il soit modifiable pour ajouter des informations extrinsèques par poids mouche ou simplement pour modifier les informations intrinsèques partagées? – p00ya