저는 도메인 구동 개발과 제어 반전과 같은 여러 가지 사항을 올바르게 가르치기 위해 작은 프로젝트를 시작했습니다.이 경우에는 적용됩니다.비동기 적으로 도메인 모델 로딩
스포츠 이벤트에서 타이밍 데이터를로드하고 시각화 할 수있는 응용 프로그램을 작성하기로 결정했습니다.이 데이터 유형에 액세스 할 수 있습니다.
하나의 요구 사항은 이벤트의 전체 세부 사항 (이벤트 이후에 생성 된 CSV)과 일부 실시간 데이터 소스 인 여러 데이터 소스 중에서 선택할 수 있어야한다는 것입니다.
이 데이터를 동기 및 비동기 로딩에 쉽게 사용할 수 있도록이 데이터를 도메인에로드하는 프로세스를 설계하는 데 문제가 있습니다.
모든 데이터 소스에서 파생 된 추상 클래스가 필요하다고 생각합니다. 이 클래스는 자체 설정 (데이터 파일의 경로, 또는 라이브 데이터 소스 서버의 주소를 얻을) 할 수 있어야하고, 나는 이런 식으로 뭔가 볼 필요가있다 같아요
protected abstract void Setup();
protected abstract void LoadData(Race race);
public Race Load()
{
Race race = new Race();
Thread t = new Thread(new ParameterizedThreadStart(LoadData));
t.Start(race);
return race;
}
각 데이터를 소스는 자신의 셋업 메소드를 구현할 수 있습니다. 그러나 이것은 짜증이납니다. 대화 상자 나 뭔가를 보여주는 데이터 소스 클래스의 생각이 맘에 들지 않습니다.
도메인을 채우는 자체 LoadData 메서드를 구현할 수도 있습니다. 라이브 원본의 경우 장기 실행되고 랩타임에 놓이게됩니다. 전체 데이터 소스는 다음과 같이 모델을 채 웁니다. 최대한 빨리
그러나 프런트 엔드는 경쟁 개체에 즉시 액세스 할 수 있으며 해당 이벤트에 바인딩 할 수 있습니다. 이벤트를 미리 설정할 수 있도록 race 메소드를 load 메소드에 전달하는 것이 더 나은가?
이 디자인이 괜찮은지 알고 싶습니다. 그 기분이 나에게 약간 이상하다고 느낀다. 나는 또한 모든 것을 생각하는 것 이상의일지도 모릅니다.