2013-08-27 5 views
1

나는 검증을 위해 서로 의존하는 세 가지 모델과 뷰 모델을 가지고 있습니다. 또한 모델은 서로의 변경 사항에 반응해야합니다. 예를 들어, ModelA.Prop1이 수정되면 ModelB.Funds가 DB에서 다시 채워 져야합니다.MVVM 모델 간 유효성 검사

MVVM에서 어떻게 구현합니까?

답변

1

해결 방법은 설정에 따라 다를 수 있습니다.

ViewModel의 변경을 초래하거나 감지 한 경우 ViewModel 내에서 새로 고침을 시작할 수 있습니다. ViewModel은 모델에 대해 알 수 있으므로 MVVM 패턴을 고수하면서이 작업을 수행 할 수 있습니다. ViewModels 간의 통신 (예 : ModelA의 ViewModel과 ModelB의 ViewModel 사이에서 MVVM 표시 등의 메시지 브로커와 같은 메시징 시스템을 사용할 수 있습니다.

모델이 저장소에 랩핑되어있는 경우 모델을 동기화 할 저장소를 만들 수 있습니다. 그렇게하면 가능한 한 오랫동안 동기화를 지연시킬 수 있습니다.

모델이 너무 종속적 인 경우 두 개가 아닌 단일 모델을 볼 수 있습니다. 먼저 확인해보십시오! 두 모델 간의 동기화 및 종속성을 많이 설정해야한다고 생각하면 단일 모델을 볼 수 있다는 분명한 신호입니다. 모델과 수업을 혼동하지 마십시오. 모델은 여러 클래스를 가질 수 있습니다.