我目前正在研究我对使用MVVM的第一次真正尝试,并且一直在阅读有关如何最好地实现它的各种文章。
我目前的想法是将我的数据模型有效地用作数据传输对象,使其可序列化,并使它们同时存在于客户端和服务器端。
鉴于这两种对象类型实际上只是属性 getter 和 setter 的集合,这似乎是一个合乎逻辑的步骤,而介于两者之间的另一层似乎完全是多余的。
显然存在INotifyPropertyChanged在服务器端无法正常工作的问题,因为没有可与之通信的ViewModel,但是只要我们谨慎地从服务层的数据模型构造适当的域模型对象,而不处理服务器端的数据模型我认为这不是大问题。
我在阅读中没有找到有关此方法的太多信息,所以我想知道这是否是很标准的事情,是否只是假定这是在多层环境中进行MVVM的实际方法?
如果我对事物有完全错误的想法,那么对其他方法的想法也将不胜感激。
最佳答案
我不是这方面的专家。我有同样的情况。我同意你的看法,这太过分了。我已经使用此解决方案已有一段时间了,并且没有遇到任何问题。 INotifyPropertyChanged对我来说不是一个大问题,因为服务器端没有任何内容可以订阅PropertyChanged事件。如果要在数据模型上使用继承,则所有都必须可序列化。在我的场景中,我的数据模型有两个基类:一个用于数据传输,另一个不。
关于wpf - 我应该使用DTO作为MVVM中的数据模型吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2720329/