我了解如何按照此处的说明配置装饰。但我看到一个问题。就我而言,我想避免对存储库的依赖。
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 中,Repository属于Data 层。我不想在 UI 中引用 DL。那就是我不想让 DL 成为 UI 的依赖项。所以我们在这种情况下使用的代码如下使用约定优于配置。
m_Kernel.Bind(x => x.FromAssembliesMatching("Northwind.*.dll").SelectAllClasses().
BindAllInterfaces());
所以问题很简单,我怎样才能使用约定优于配置的条件绑定?