Как сделать связывание с декораторами, используя Ninject без зависимости?
Я понимаю, как настроить украшений, как описано здесь. Но я вижу одну проблему. В моем случае я хочу избежать зависимости от репозитория.
Bind<IRepository>().To<Repository>().WhenInjectedInto<CachedRopsitory>();
Bind<IRepository>().To<CachedRepository>().WhenInjectedInto<CachedLoggedRepository>();
Bind<IRepository>().To<CachedLoggedRepository>();
Чтобы уточнить, у меня есть пользовательский интерфейс, BL(бизнес-уровень), DL(уровень данных). UI и DL ссылка BL. Приведенный выше код находится в составе корня в пользовательском интерфейсе. И IRepository находится в BL, а Repository принадлежит слою данных. Я не хочу ссылаться на DL в пользовательском интерфейсе. То есть я не хочу делать DL зависимостью от UI. поэтому код, который мы используем в таком сценарии, выглядит следующим образом с использованием соглашения над конфигурацией.
m_Kernel.Bind(x => x.FromAssembliesMatching("Northwind.*.dll").SelectAllClasses().
BindAllInterfaces());
Таким образом, вопрос прост, как я могу использовать условные привязки с соглашением по конфигурации?