Tôi có một đối tượng threadsafe đắt tiền để tạo và cần có sẵn thông qua ứng dụng của tôi (một Lucene.Net IndexReader).StructureMap 'singleton có điều kiện' cho Lucene.Net IndexReader
Đối tượng có thể trở thành không hợp lệ, tại thời điểm tôi cần tạo lại nó (IndexReader.IsCurrent là sai, cần một phiên bản mới bằng cách sử dụng IndexReader.Reopen).
Tôi muốn có thể sử dụng một thùng chứa IoC (StructureMap) để quản lý việc tạo đối tượng, nhưng tôi không thể làm việc nếu kịch bản này là có thể. Nó giống như một loại vòng đời "có điều kiện".
Bản đồ cấu trúc có cung cấp tính năng như vậy không? Bất kỳ đề xuất thay thế nào?
Tôi đồng ý với casperOne. Hãy suy nghĩ về ẩn dụ đằng sau một giao diện/mặt tiền để bạn có thể dễ dàng thực hiện các chiến lược như đối tượng tổng hợp. – Steven
Tôi đã xem xét điều này, nhưng nó cảm thấy xấu hổ khi loại bỏ resposibiliy để tạo đối tượng và quản lý suốt đời khỏi container IoC. Nó chắc chắn sẽ làm việc cho tôi và sẽ là giải pháp của tôi trở lại mùa thu nếu tôi không đến với bất cứ điều gì hơn IoC trung tâm. –