저는 mvvm에서 머리를 쓰려고 노력 중이며 좋은 기초를 제공 할 것으로 생각되는 테스트 응용 프로그램을 생각해 내었습니다. 내 신청서에 매 순간 나가서 공항에서 최신 항공편 도착 및 출발 정보를받는 서비스가 있다고 가정 해 보겠습니다. 이제 InboundView, OutboundView 및 GateView의 세 가지보기가 있다고 가정합니다. 인바운드 및 아웃 바운드보기에는 인바운드 및 아웃 바운드 항공편에 대한 다양한 항공편 세부 정보가 표시되며 이는 공항의 항공편 게시판에서 볼 수 있습니다. GateView는 유사한 비행 정보를 표시하지만 비행 # 대신 게이트 #로 정렬 될 수 있습니다.공통/전역 데이터는 어디에서 mvvm입니까?
그래서 Flight 객체의 모델에는 비행 데이터 세부 정보와 비행이 도착하면 적절히 업데이트 될 Gate 객체의 인스턴스가 포함됩니다.
3 개의 뷰 모두 동일한 비행 데이터 서비스를 사용하고 있으며 각 VM에 해당 서비스의 인스턴스를 전달할 수 있다는 것을 알고 있지만 각 뷰 모델에서 적절한 INPC 이벤트를 연결해야합니다. 보기/VM 수가 증가함에 따라 이상적입니다.
지금 당장, 각 VM은 전달 된 항공 데이터 수집을 감싸는 ListCollectionView를 사용하며 인바운드/아웃 바운드 등을 기준으로 정렬/필터링하지만 서비스 결과를 일종의 상위 프로그램으로 통합하려고합니다. 하위보기에 따라 자체에 대한 참조를 전달할 모델을 조회 한 다음 모든 INPC 등을 처리 할 수 있습니다. 부모보기 모델 레벨에서 이벤트가 발생하면 해당 하위보기로 자동으로 트리크됩니다. 특정 비행은 각 VM에서 개별적으로 처리해야하는 대신 게이트와 같이 변경됩니다.
MVVM Light의 Messenger 프레임 워크를 조사했지만 각 하위 VM이 메시지를 등록하고 개별적으로 응답해야하는 것처럼 보입니다.
의미가 있습니까? 나는 올바른 길을 가고 있는가?