:通常の状態に城ウィンザーは - 私は、サービス・インターフェース、ICustomerServiceを持っており、それは二つのタイプによって実装されている登録と解決キャッシュと同じインタフェースの非キャッシュ実装
public class CustomerService : ICustomerService
{
// stuff
}
public class CachedCustomerService : ICustomerService
{
public CachedCustomerService(CustomerService service) { }
}
キャッシュされたサービスそしてちょうどキャッシュおよび代表者サービス。
登録のために、私はICustomerServiceをCachedCustomerServiceに解決し、それからCustomerServiceはそれ自身のタイプのために登録されています。
これは問題なく動作します。
CachedCustomerServiceに具体的なCustomerServiceの代わりにインターフェイスが必要な場合は、私が疑問に思っていることがあります。その理由は、2つのタイプのCustomerServiceで終了する可能性があり、可能であれば、それぞれに固有のキャッシュバージョンを避けたいからです。
のでCachedCustomerServiceのコンストラクタは、に変更します:私は登録を完全にコントロールを持っていますが、解像度はasp.netのMVCのボウルで行われ
public class CachedCustomerService : ICustomerService
{
// notice the ICustomerService
public CachedCustomerService(ICustomerService service) { }
}
。
ありがとうございます!