Внедрение инжектора зависимости с помощью инъекции зависимости
Довольно плохо знаком с внедрением зависимости, и яЯ пытаюсь выяснить, если это анти-шаблон.
Позволять'скажем у меня есть 3 сборки:
Foo.Shared - this has all the interfaces
Foo.Users - references Foo.Shared
Foo.Payment - references Foo.Shared
Foo.Users нужен объект, который встроен в Foo.Payment, а Foo.Payment также нужны вещи из Foo.Users. Это создает некую круговую зависимость.
Я определил интерфейс в Foo.Shared, который проксирует инфраструктуру Dependency Injection I 'используя (в этом случае NInject).
public interface IDependencyResolver
{
T Get();
}
В приложении контейнера у меня есть реализация этого интерфейса:
public class DependencyResolver:IDependencyResolver
{
private readonly IKernel _kernel;
public DependencyResolver(IKernel kernel)
{
_kernel = kernel;
}
public T Get()
{
return _kernel.Get();
}
}
Конфигурация выглядит так:
public class MyModule:StandardModule
{
public override void Load()
{
Bind().To().WithArgument("kernel", Kernel);
Bind().To(); //