2010-10-19 4 views
5

기존 응용 프로그램 중 하나가 VB.net (3 계층)에서 실행되고 DataTable이 DTO로 사용됩니다. 하지만 WPF, MVVM 아키텍처를 사용하여 응용 프로그램을 변환하려고합니다. DTatable으로 Datatable을 사용하여 MVVM을 구현할 수 있습니까? 아니면 이러한 datatable을 나타내며 MVVM 아키텍처를 구현하는 클래스를 만들어야합니다. ?DataTable을 사용하는 MVVM?

답변

2

DataTable/DataSet을 모델로 사용하지 못하는 것은 MVVM에 없습니다. MVVM의 'M'은 실제로 무엇이든 될 수 있습니다. 보다 명확하게 정의 된 V 및 VM입니다. ViewModel을 뷰와 기본 DataRow의 중개자로 사용하십시오. 모델이 웹 서비스 클래스로 생성 된 것보다 더 복잡하지 않아야합니다.

+0

k, thnx. 클래스에서는 INotifyPropertychanged를 구현할 수 있으며 콜백, 강제 변환 등을 작성할 수도 있습니다. 그러나 Datatable 또는 DataRow에서는 변경 알림을 어떻게 식별 할 수 있습니까? 이 질문에 대한 답변을 전부터 들었습니다. –

+0

DataTable에 사용할 수있는 RowChanged 이벤트가 있습니다. 그러나 아마 그것을 사용할 필요는 없습니다. ViewModel은 필요에 따라 PropertyChanged 이벤트를 발생시킬 수 있습니다. ViewModel이 DataRow로 들어오고 나가는 데이터를 제어하고 있다면 ViewModel 아래에서 DataRow를 너무 많이 변경해서는 안됩니다. – Josh

1

MVVM에서 빈혈 모델을 사용하는 것과 다른 모델을 사용하는 것의 차이점을 살펴보십시오. 빈혈 모델에서; 당신이 데이터 테이블을 가지고 얻은 것, 당신은 당신의 VM에있는 모든 INotify 이벤트를 연결하고 속성을 구현합니다. 자신 만의 비즈니스 객체를 구축하거나 CSLA와 같은 프레임 워크를 사용하는 등 풍부한 모델 경로를 사용하면 모델에서 훨씬 더 많은 작업을 수행 할 수 있으며 VM은 훨씬 작아집니다.

관련 문제