単純なケース: 次のように、メッセージをログに記録するためのインターフェイスがあります。
public interface ILogger
{
void Log(string message);
}
そして、おそらく 3 つの異なるクラスがこのインターフェースを実装しています。
これで、DI の 1 行に次のように書くことができます。
kernel.Bind<ILogger>().To<ConsoleLogger>();
私の質問は、多くのクラスでそのインターフェイスを使用する方法ですが、コンストラクターを介して全員に注入することはありません。使用したい非常に多くの異なるインターフェイスを持つことができ、そのクラスコンストラクターの宣言が面倒になる可能性があるためです。