내 WPF MVVM 응용 프로그램에서 내 모델은 런타임에 지속적으로 변경되는 Model 객체의 복잡한 트리입니다. 모델 인스턴스는 런타임에 실행되고 이동하며 트리 내에서 위치를 변경하고 물론 많은 속성을 변경합니다. 내보기는 거의 해당 트리의 일대일 시각적 표현입니다. 모든 모델 인스턴스는 트리의 노드 인 사례의 80 %에 있습니다.ViewModel 트리 대 자주 업데이트되는 모델 트리
제 질문은 이제 어떻게이 모델에서 ViewModel을 디자인 할 수 있을까요? 내 문제는 꽤 많은 속성을 가진 상당히 다른 모델 유형이 많이 있다는 것입니다. MVVM을 이해했다면 뷰는 모델과 직접 통신해서는 안되므로 각 모델 유형에 대한 ViewModel 유형을 작성해야하며 ViewModel에서 모델 유형의 각 특성을 다시 랩해야합니다.
또한 ViewModel은 모델의 propertychanges에 "바인딩"하여 뷰에 전달해야합니다 (wpf datatbinding 사용). 내가 새로 나타나는 각 모델에 대해 ViewModel 인스턴스를 생성하고 소개하는 일부 팩토리가 필요하며 해당 모델이 사라지면 각 ViewModel 인스턴스를 처분해야합니다. 내가 만든 모든 사례를 추적합니다. 얼마나 많은 부 풀리는 코드가이 이중 포장에 얼마나 많은 돈을 지불하는지 믿을 수 없습니다. 정말 좋은 접근 방법입니까? 각 엔티티와 각 속성은 두 번 더 적게 존재하며 모델과 뷰를 동기화 된 상태로 유지하는 추가 코드가 많이 있습니다. 어떻게 처리합니까? 이 문제를 해결할 더 영리한 방법이 있습니까?
아무에게도 이보다 나은 참조/샘플 구현이 있습니까?
+1 패러다임을 너무 문자 그대로 받아들이지 않기 위해 매우 철저한 대답과 좋은 제안. –
+1 "보통 View를 기반으로 ViewModel을 만들고 처음에는 Model *을 만듭니다" – Amsakanna