Dependency injection Ninject多层控制台应用程序

Dependency injection Ninject多层控制台应用程序,dependency-injection,ninject,console-application,multi-tier,Dependency Injection,Ninject,Console Application,Multi Tier,我有一个具有以下组件的多层控制台应用程序: -数据访问层 -域层-使用数据访问层中定义的数据存储库类 -引擎-它包含应用程序的入口点,并使用域层类来编排操作 数据访问层类和域层类实现了一组接口。你建议我怎么做DI?我是否需要在我的域类和引擎类中都引用Ninject,是否有其他方法在单个位置进行绑定?这样做的最佳模式是什么 我刚开始学习DI和Ninject,所以任何帮助、示例和解释都会非常有用 我将为您编写一个简单的示例,并将其添加到我的github上。大概30分钟后到。将在这里发布链接a.s.a

我有一个具有以下组件的多层控制台应用程序: -数据访问层 -域层-使用数据访问层中定义的数据存储库类 -引擎-它包含应用程序的入口点,并使用域层类来编排操作

数据访问层类和域层类实现了一组接口。你建议我怎么做DI?我是否需要在我的域类和引擎类中都引用Ninject,是否有其他方法在单个位置进行绑定?这样做的最佳模式是什么


我刚开始学习DI和Ninject,所以任何帮助、示例和解释都会非常有用

我将为您编写一个简单的示例,并将其添加到我的github上。大概30分钟后到。将在这里发布链接a.s.a.p

编辑:这里是示例项目:

编辑:这是您进行绑定的地方

我是否需要在我的域类和 引擎类,是否有其他方法可以在单个引擎中进行绑定 地点?这样做的最佳模式是什么

尽可能靠近应用程序的入口点


这个地方叫做。

好的,但请注意,激活块已被弃用,您可能会对此感兴趣。鲁本:我不知道。Ninject的文档很差(或隐藏得很好)。无论如何,它是有效的,我们将它用于WebSocket,因为那里没有请求。很高兴有你的链接供将来阅读。激活块实现只是一个想法的浮动,NamedScope的东西(esp
CreateNamedScope
)是新的。我将很快在
Ninject.Extensions.NamedScope
中为自定义请求作用域内容(以及CreateNamedScope本身)编写PRs和/或文档-我现在已将其粘贴到生产中。最近还更新和扩展了许多关键信息别忘了购买manning.com/seemann,你自己就能回答这个问题(但它不直接涉及Ninject)