내 자체에 대한 사용자 지정 시스템을 devlop하고 싶습니다.여러 동적 서비스 및 종속성 서비스로드에 대한 우수 사례
나는 종속성 서비스와 configuratin에 의해 사용자 정의 서비스를로드하려는 - 예를 들면 :
<Services>
<Service name="ServiceA" args="" type="CommonLib.IServiceA" dependencies=""/>
<Service name="ServiceB" args="" type="CommonLib.IServiceB" dependencies="ServiceA"/>
<Service name="ServiceC" args="" type="CommonLib.IServiceC" dependencies="ServiceA,ServiceB"/>
<Service name="ServiceD" args="" type="CommonLib.IServiceD" dependencies="ServiceA,ServiceB,ServiceC"/>
<Service name="ServiceE" args="" type="CommonLib.IServiceE" dependencies="ServiceA,ServiceB,ServiceC,ServiceD"/>
<Service name="ServiceF" args="" type="CommonLib.IServiceF" dependencies="ServiceA,ServiceB,ServiceC,ServiceD,ServiceE"/>
</Services>
그 모든 서비스는 사용자 지정 인터페이스 구현과 같습니다
public interface IService
{
bool Start();
bool Stop();
bool IsReady {get;}
}
무엇 toghether 동적 서비스를로드하기위한 가장 좋은 방법 하지만 그 의존성에 달려 있습니까?
모든 서비스를 반복하고 종속성이로드되고 준비 될 때까지 연기 하시겠습니까?
튜토리얼이 있습니까?
이있는 [종속성 그래프 (https://en.wikipedia.org/wiki/Dependency_graph) .. –
또한 위상 정렬입니까? 좋은 생각! –
예, 토폴로지 정렬 솔루션을 사용하면 올바른로드 순서를 알 수 있습니다. –