我现在正在学习MVVM,我知道一些事情(超过但是很少在这里..):摆脱VM中的代理属性?
- 是否每个模型可能暴露(直通一个VM)来查看是有一个虚拟机?
例如,如果我有一个联系人和地址实体,并且每个联系人都有一个Addresses(许多)属性,是否意味着我必须创建一个ContactViewModel和一个AddressViewModel等? - 我是否必须在ViewModel中重新声明模型的所有属性(即FirstName,LastName等等等等)?为什么不具有ViewModelBase并且ContactViewMode会成为访问Entity属性本身的ViewModelBase的子类?如果这是一个糟糕的主意,视图有权访问该实体(请解释原因),那么为什么不让ViewModelBase成为
DynamicObject
(查看词典示例@链接页面),所以我不必重新声明所有在两层(M & VM)中反复进行属性和验证 - 因为实际上,视图无论如何都是通过反射访问ViewModel的字段。 - 我认为MVVM是我学过的最难的技术。它没有开箱即用的支持,并且有很多框架和方法来实现它,另一方面没有安排学习它的方法(例如MVC),学习MVVM意味着浏览和浏览周围试图弄清楚什么更好。底线,我说的这个部分是please go and vote到MSFT在BCL和发电机的虚拟机和与依女士
感谢
感谢1/2节。关于验证,我有数据注释属性应用于我的模型中的所有属性,现在我将不得不重写它们全部? MVVM如何完成? – Shimmy 2011-02-07 07:25:37