Windows 서비스의 IoC 프레임 워크로 Ninject를 사용하려고합니다.구성에 따라 다른 인스턴스 확인
총회 코어 :
public class Orchestrator : IOrchestrator
{
...
public Orchestrator(ITerminal terminal)
{
...
}
...
}
조립 Vx520 :
public class Vx520 : ITerminal
{
...
public Vx520(string comPort, int bauds, int dataBits, Parity parity, StopBits stopBits)
{
...
}
...
}
조립 Vx580 :
public class Vx580 : ITerminal
{
...
public Vx580(string ip, int port)
{
...
}
...
}
내 생각은 ConfigurationSection
를 사용하는 것입니다 나는 다음과 같은 클래스와 인터페이스가 사용자가 단말기 수와 단말기 수를 구성 할 수있게합니다. 그는 원한다. 로,
<Terminals>
<add Type="Vx520" ComPort="COM3" Bauds="9600" DataBits="8" Parity="None" StopBits="One" />
<add Type="Vx580" Ip="192.168.0.50" Port="33999"/>
<add Type="Vx580" Ip="192.168.0.51" Port="33999"/>
</Terminals>
내가 구성 부분의 작업이 예를 들어, 다음과 같은 구성에서, 나는 그것으로 각 사용자 정의 구성의 3 개 Orcestrator 인스턴스하는 Vx520 터미널 하나, 그리고 Vx580와 다른 두를 얻어야한다 IEnumerable<TerminalConfiguration>
을 최종 출력으로 사용합니다. 이 구성 목록을 사용하여 Orchestrator
클래스의 종속성을 동적으로 해결할 수 있습니까? Ninject가이 작업을 수행 할 수없는 경우 나에게 추천 할 수있는 다른 IoC 프레임 워크가 있습니까?
"Orchestrator"에 어떤 것을 넣고 싶습니까? 당신은 무엇을 기반으로 결정합니까? –
@YuvalItzchakov'TerminalConfiguration'의 목록을 기반으로합니다. 그 목록에 3 개의 항목이 있다고 가정하면, 구성의'Type' 필드를 기반으로 한 터미널 중 하나를 사용하여 각각 3 개의 Orchestrator를 원합니다. –