2009-05-25 4 views
0

I 중 하나를 수행 할 수 있습니다 뷰 모델 (부분 코드)의 데이터 요소가 있습니다모델 뷰 뷰 모델 모범 사례

public class PersonViewModel : INotifyPropertyChanged 
{ 
    public string FirstName 
    { 
     get 
     { 
      return firstName; 
     } 

     set 
     { 
      firstName = value; 
      OnPropertyChanged("FirstName"); 
     } 
    } 

    public string LastName 
    { 
     get 
     { 
      return lastName; 
     } 

     set 
     { 
      lastName = value; 
      OnPropertyChanged("LastName"); 
     } 
    } 

} 

또는 내가보기 모델 내부 DTO (부분 모드)로 포장 할 수 있습니다

public class PersonDTO : INotifyPropertyChanged 
{ 
    public string FirstName 
    { 
     get { return firstName;} 

     set 
     { 
      firstName = value; 
      OnPropertyChanged("FirstName"); 
     } 
    } 

    public string LastName 
    { 
     get { return lastName; } 

     set 
     { 
      lastName = value; 
      OnPropertyChanged("LastName"); 
     } 
    } 

} 

public class PersonViewModel 
{ 
    public PersonDTO boundToPerson; 
} 

접근 방법이 더 좋고 그 이유는 무엇입니까?

답변

1

모델이 본질적으로 DTO이고 다른 곳에서 사용되지 않는다고 가정합니다. 나는 첫 번째 옵션으로 갈 것이다.

그래서 소스 엔터티에서 모델로 매핑하면됩니다. Model이 강하게 입력 된 View에서 사용하는 "병합 된"단순 변환 일 때 DTO는 필요하지 않습니다.

행운을 빈다.