J'ai un objet threadsafe qui est coûteux à créer et doit être disponible dans mon application (un Lucene.Net IndexReader).StructureMap « singleton conditionnelle » pour Lucene.Net IndexReader
L'objet peut devenir invalide, à quel point je dois le recréer (IndexReader.IsCurrent est faux, besoin d'une nouvelle instance en utilisant IndexReader.Reopen).
Je voudrais pouvoir utiliser un conteneur IoC (StructureMap) pour gérer la création de l'objet, mais je ne peux pas travailler si ce scénario est possible. Il se sent comme une sorte de cycle de vie "conditionnel singleton".
Est-ce que StructureMap fournir une telle fonctionnalité? Des suggestions alternatives?
Je suis d'accord avec casperOne. Pensez à cacher l'instance derrière une interface/façade afin de pouvoir mettre en œuvre plus facilement des stratégies telles que le regroupement d'objets. – Steven
Je l'ai considéré, mais il est dommage de supprimer la possibilité de créer des objets et de gérer la durée de vie du conteneur IoC. Cela fonctionnera certainement pour moi et sera ma solution de rechange si je ne trouve rien de plus IOC centré. –