【发布时间】:2011-11-22 12:58:31
【问题描述】:
我是 Ninject 的新手(通常是 DI)。
我了解内核是如何加载模块的,并且到目前为止我编写的代码往往只有一行:
myKernel.Get<MyApp>()
它从我的模块中的绑定构造我需要的一切。如果初始化后需要新实例,这些由我为初始化绑定的工厂处理。到目前为止,工厂没有任何 ninject 依赖项,只需按需更新对象。
现在我已经到了需要考虑初始化后创建对象的程度,而我自己的工厂模式不再削减它。这将支持(远程)客户端的发布/订阅接口。对于与我的服务器的每个新连接,我想根据 ninject 模块中定义的一组绑定创建新的 IClient 实例。这是否意味着我在初始化时传入的工厂必须有自己的内核(或对主内核的引用)? CommonServiceLocator 的功能在哪里。 CSL 有必要吗?
在我走得太远之前,我认为最好在这里询问其他人如何解决这个问题。
【问题讨论】:
标签: c# architecture ninject ninject-2