如何在我的Ninject模块中加载引用的模块。举个例子,我有Business层模块,它依赖于DataAccess模块,但是目前我必须做这样的事情:
Business.Module {
class Module{
public void Load()
{
//add bindings
}
}
}
DataAccess.Module {
class Module{
public void Load()
{
//add repositories bindings
}
}
}
然后在app中,我必须使用两者:
class ControllerFactory
{
NinjectKernel kernel = new NinjectKernel(
new Business.Module(),
new DataAccess.Module())
}
但我的目标是分离应用和数据层,所以app。必须只引用业务层,它引用数据层。
我知道如何使用Unity容器来完成它。但Ninject怎么样?
答案 0 :(得分:1)
您可以为此创建单独的项目。从中引用DAL和Business层是安全的,因为它除了配置组合根之外不包含任何逻辑。然后从GUI项目引用此项目。 这看起来似乎是一种开销,但在我的经验中它完美无缺。