와 코드를 향상 주입 :나는 다음과 같은 코드를 향상시킬 수있는 방법을 찾고 공장 패턴과 DI
container.Bind<IExampleA>().To.<ExampleA>();
container.Bind<IExampleB>().To.<ExampleB>();
container.Bind<IExampleFactory>().To.<ExampleFactory>();
그리고 어떤 포인터가이 인정 될 것이다
public class ExampleUsage()
{
ExampleFactory _exampleFactory;
public ExampleUsage(ExampleFactory exampleFactory)
{
_exampleFactory = exampleFactory;
}
public void useFactory(Test obj)
{
var implementation = _exampleFactory.Make(obj.ThisIsAnEnum);
implementation.Do();
}
}
같이 사용되는, 감사!
는 ** 내가 잊고 있었던 편집 ExampleA와 ExampleB 모두 당신이 공장에 잘못된 일을 생각 DI
public class ExampleA: IExampleA
{
IDependencyA _dependencyA;
IDependencyB _dependencyB;
public ExampleA(IDependencyA dependencyA, IDependencyB dependencyB)
{
_dependencyA = dependencyA;
_dependencyB = dependencyB;
}
public void Do();
}
public class ExampleB: IExampleB
{
IDependencyA _dependencyA;
IDependencyB _dependencyB;
IDependencyC _dependencyC;
public ExampleA(IDependencyA dependencyA, IDependencyB dependencyB, IDependencyC dependencyC)
{
_dependencyA = dependencyA;
_dependencyB = dependencyB;
_dependencyC = dependencyC;
}
public void Do();
}
container.Bind<IDependencyA>().To.<DependencyA>();
container.Bind<IDependencyB>().To.<DependencyB>();
container.Bind<IDependencyC>().To.<DependencyC>();
코드 개선에 대한 질문은 http://codereview.stackexchange.com을 사용하십시오. –
감사합니다! @SergeyBerezovskiy –
이 질문을 만들었습니다 : http://codereview.stackexchange.com/questions/158733/advide-on-factory-pattern-with-di-implementation –