2009-05-25 84 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是不必要的,因爲模型將是您在強類型視圖中使用的「扁平」簡單翻譯。

祝你好運!

相關問題