c# - 如何正确使用依赖注入(inject)?

标签 c# oop dependency-injection ninject

简单案例: 我有一个用于记录消息的界面,如下所示:

public interface ILogger
{
   void Log(string message);
}

也许三个不同的类实现了这个接口(interface)。

现在,我可以在一个地方写,DI 行,比如:

kernel.Bind<ILogger>().To<ConsoleLogger>();

我的问题是,如何在许多类中使用该接口(interface),而不是通过构造函数注入(inject)每个人。因为我们可以有很多我们想要使用的不同接口(interface),而且类构造函数的声明可能很困惑。

最佳答案

在你的构造函数中有太多的注入(inject)项是一种代码味道。这通常意味着您的类(class)扮演着不止一种角色。 single responsiblity principle说每个类应该只有一个完全封装在类中的目的。

关于c# - 如何正确使用依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10678210/

相关文章:

java - 谷歌指南 : Provider with parameters

c# - 线程是内核对象吗?

c# - 如何制作采用泛型类型的泛型方法

javascript - Angular 工厂自引用

javascript - 使用 Node.js 进行依赖注入(inject)

java - 使用 Guice 的逆向工程项目的策略?

c# - 是否可以让我的 c# wpf 程序知道用户是否有触摸屏?

c# - 如何将其他文件添加到 Visual Studio 2017 中的 NuGet 包?

java - 在继承中,如果子类不遵守所有父类(super class)行为怎么办?

javascript - 实例化的 JavaScript 对象如何相互通信?