2009-05-25 94 views
0

我既可以具有在视图模型(部分编码)的数据元素:模型视图视图模型的最佳实践

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并且未在其他地方使用。我会选择第一个选项。

所以你只需将你的源实体映射到模型。在这种情况下,DTO是不必要的,因为模型将是您在强类型视图中使用的“扁平”简单翻译。

祝你好运!