如何使用Ninject与装饰器绑定而不依赖?

时间:2015-03-12 05:33:23

标签: c# dependency-injection ninject decorator cross-cutting-concerns

我理解如何按照here解释配置装饰。但我看到一个问题。在我的情况下,我想避免存储库的依赖。

Bind<IRepository>().To<Repository>().WhenInjectedInto<CachedRopsitory>();
Bind<IRepository>().To<CachedRepository>().WhenInjectedInto<CachedLoggedRepository>();
Bind<IRepository>().To<CachedLoggedRepository>();

详细说明,我有 UI BL (业务层), DL (数据层)。 UI和DL参考BL。上面的代码位于UI的组合根目录中。 IRepository 位于BL中,存储库属于数据层。我不想在UI中引用DL。那是我不想让DL成为UI的依赖。所以我们在这种情况下使用的代码如下使用约定优于配置。

m_Kernel.Bind(x => x.FromAssembliesMatching("Northwind.*.dll").SelectAllClasses().
    BindAllInterfaces());

所以问题很简单,我如何使用约定优于配置的条件绑定

0 个答案:

没有答案