0
私の実装では、私はICachingManager
というインタフェースを持っています。私は今、1つの実装を持っています。私は1つの実装を持っていた場合にはユニティにコンポジットクラスを登録する
public class CachingManager
{
#region Members
private ICachingManager service;
#endregion
#region Constructors
public CachingManager(ICachingManager service)
{
this.service = service;
}
#endregion
#region Public Methods
public void EnCache<T>(string key, T value)
{
this.service.EnCache<T>(key, value);
}
public T DeCache<T>(string key)
{
return this.service.DeCache<T>(key);
}
#endregion
}
、その後、私は簡単に自動的にUnityがICachingManagerを解決し、注入し、UnityとCachingManagerクラスを登録することができます:私はまた、マネージャークラスを作成しました。
名前付きタイプを使用して複数の実装がある場合は、Unityをどのように使用できますか?抽象ファクトリを使用して初期化する名前付き型を決定する必要がありますか?
このような複合クラスを使用するか、またはAbstract Factoryとのインターフェイスの実装を直接使用するのは良い考えですか?
感謝を。コンパイル時に名前が分からない場合は、代わりにconfigファイルから読み込み、工場が必要ですか?もう1つ、私はどのようにインターフェイスを実装していない型でUinty 2.0を設定するかを見ようとしています、設定ファイルの構文は何ですか?ありがとうございます – Bill
1)実行時に依存関係の名前が与えられ、実行中に変更できる場合は、ファクトリが必要です。2) のような型を登録します。 "mapTo"属性は必要ありません。 http://msdn.microsoft.com/en-us/library/ff660914(v=PandP.20).aspx#config_registerelement –
onof
Onofに感謝します。 DIと工場でアイデアが明確になった;)ありがとう。 – Bill