저는 한동안 IoC 컨테이너로 Unity를 사용하고 있었고 반복적 인 문제에 대한 올바른 해결책을 찾을 수 없었습니다.Unity - 컨텍스트에 따라 올바른 인스턴스 해결
public IAuditOperationLogWriter Create(Operation operation)
{
switch (operation)
{
case Operation.Insert:
return UnityContainer.Resolve<AuditInsertLogWriter>();
case Operation.Update:
return UnityContainer.Resolve<AuditUpdateLogWriter>();
default:
break;
}
}
것은 그 인스턴스가 있기 때문에 자신의 종속성으로 만들 복잡 것입니다 : 당신이 울부 짖는 볼 수 있듯이 나는 동작 인수에 따라 (그들은 IAuditOperationLogWriter 인터페이스를 구현) AuditInsertLogWriter 및 AuditUpdateLogWriter의 일부 인스턴스를 작성해야합니다. 또한이 팩토리에서 Unity와의 종속성을 제거하려고합니다. 그래서, 내 질문입니다 : 어떻게 달성 할 수있는 유니티 올바른 문맥에 따라 만들려면 올바른 형식을 해결할?
정말 문제의 일반적인 유형이 무엇인지에 대한 일반적인 대답은 여기를 참조하십시오 : http://stackoverflow.com/questions/1943576/is-there-a-pattern-for-initializing-objects-created- via-a-di-container/1945023 # 1945023 –