我正在使用一個項目中的現有代碼,這個項目裏有豐富的模型(而不是POCO)。基本上,有沒有什麼好的方法來混合豐富的模型和ViewModels而不重複代碼?當您擁有Rich Models時,您會做什麼?
- 豐富的車型有數據驗證。任何簡單的方法來重用這些ViewModels?
例子:
public class PersonViewModel : INotifyPropertyChanged, IDataErrorInfo
{
private Person _person;
[Required] //This seems redundent...
public String FirstName { ... }
}
public class Person
{
[Required]
public String FirstName { ... }
}
這只是其中一個例子......基本上,如果你有豐富的產品型號有什麼辦法來利用這一點,同時保持MVVM,避免redundent代碼?我真的希望避免讓我的模型成爲任何數據上下文或由ViewModel完全公開。
例如:
MVVM的public class PersonViewModel : INotifyPropertyChanged, IDataErrorInfo
{
private Person _person;
//This seems like a bad thing to do...
public Person ThePerson { get { return _person; } }
}