看起来我创建的ViewModels与其他类非常相似,并且它们似乎需要大量的代码重复,例如在当前项目中:
- SmartForm:代表要填写的数据表单的模型,具有以下属性:
- IdCode
- Title
- Description
- SmartFormFields集合
- 等等。
- SmartFormControlView 视图
- SmartFormControlViewModel 视图模型
- IdCode
- Title
- Description
- SmartFormFields集合
- 等等。
因此,我的ViewModel基本上与我的Model相同,只是带有所有与视图绑定的OnPropertyChanged功能。
随着我的重构和扩展,似乎每次对模型进行小改动时,我都必须对ViewModel进行镜像更改。
这似乎违反了设计模式的一个基本原则:不要重复自己。
我是否错误地实现了MVVM模式,或者MVVM中始终存在Model和ViewModel之间的一对一重复是固有特性?