は下記考えてみましょう:IOC - 複数の依存関係の注入
public class DependencyA {}
public class DependencyB {}
public class DependencyC {}
public class DependencyD {}
public class Service1
{
public Service1(DependencyA a, DependencyB b, DependencyC c, DependencyD d) { ... }
}
public class Service2
{
public Service2(DependencyA a, DependencyB b, DependencyC c, DependencyD d) { ... }
}
public class Service3
{
public Service3(DependencyA a, DependencyB b, DependencyC c, DependencyD d) { ... }
}
私は私のサービスの多くは、複数の共通のコンポーネントに依存していることを発見していて、以下のようにすべてのソリューションは、(すべてのアップ有線キャッチを実装することを考えていますウィンザーを介して)サービスコンストラクタのコードの繰り返しを保存します。
public class DependencyContainer
{
public DependencyA A { get; set; }
public DependencyB B { get; set; }
public DependencyC C { get; set; }
public DependencyD D { get; set; }
}
public class Service1
{
public Service1 (DependencyContainer container) { ... }
}
また、ServiceBaseクラスを作成することもできます。
これは、サービスでのより広いデザイン問題を強調していますか?
おそらく私はDIを遠くに持っていますが、これらはすべて本物の依存関係です。
もしそうなら、どうすればこのコードを書くことができますか? 提案されたソリューションがこの目標を達成する有効な方法でない場合は、
あなたの権利。私が問題を提起した事実は、何かにおいがあったためです。ありがとう。 – crowleym