Mam obiekt bezpieczny dla wątków, który jest drogi w tworzeniu i musi być dostępny za pośrednictwem mojej aplikacji (Lucene.Net IndexReader).StructureMap 'conditional singleton' dla Lucene.Net IndexReader
Obiekt może stać się nieważny, w którym to momencie muszę go odtworzyć (IndexReader.IsCurrent jest fałszywy, potrzebuję nowej instancji za pomocą IndexReader.Reopen).
Chciałbym móc użyć kontenera IoC (StructureMap) do zarządzania tworzeniem obiektu, ale nie mogę się domyślić, czy ten scenariusz jest możliwy. Wydaje się, że jest to cykl życia "warunkowego singletonu".
Czy StructureMap udostępnia taką funkcję? Jakieś alternatywne sugestie?
zgadzam się z casperOne. Pomyśl o ukryciu instancji za interfejsem/elewacją, aby łatwiej było wdrażać strategie, takie jak łączenie obiektów. – Steven
Zastanawiałem się nad tym, ale szkoda jest usuwać resposibiliy do tworzenia obiektów i zarządzania ich na całe życie z kontenera IoC. To na pewno zadziała dla mnie i będzie moim rozwiązaniem, jeśli nie wymyślę czegoś bardziej skoncentrowanego na IoC. –