그래서 나는이 응용 프로그램에서 IOC (autofac)를 사용하고 있습니다. 그때 나는 공장이 필요한 위치에 자리 잡고있었습니다. 공장 내에서는 의존성이있는 새로운 객체를 만듭니다. 그래서 지금 궁금합니다. 어떻게 이들과 결혼 할 수 있습니까?공장 및 IOC 함께 - 둘 다 어떻게 사용합니까?
public class SubscriptionHandlerFactory : ISubscriptionHandlerFactory
{
public ISubscriptionHandler GetProvider(StreamType streamType)
{
switch (streamType)
{
case StreamType.Rss:
return new RssSubscriptionHandler(null,null,null,null);
case StreamType.Person:
return new PersonSubscriptionHandler(null, null, null, null);
default:
throw new ArgumentOutOfRangeException(nameof(streamType), streamType, null);
}
}
}
공장에 IoC 컨테이너를 주입 한 후 당신이 원하는 구체적인 유형의 인스턴스를 얻기 위해 그것에 노출 된 메서드를 사용하십시오. 그런 다음 컨테이너가 다른 종속성을 해결합니다. –
@MartinCostello는 서비스 위치 지정 자입니다. 공장 내에서 이루어 지더라도 대부분 안티 패턴으로 간주됩니다. –
당신은 공장이 필요하다고 확신합니까? IoC 컨테이너가 개체 종속성 그래프를 작성할 수 없도록하는 이유는 무엇입니까? –