在构建产品时使用ViewModel与DataContracts有什么好处?我正在为两者寻找利弊。
我可以想到使用Viewmodel的好处是它可以有表示逻辑,
还有其他好处吗?我的团队中的指南是使用DataContracts。所以我需要更多细节来说服。
答案 0 :(得分:2)
他们并没有真正用于同一件事。 ViewModels用于构造类中的成员如何在View上显示。 DataContracts用于在服务和网站之类的东西之间传递数据。视图模型是一种将实体模型与显示模型分离的方式,这样您就可以对数据库中的数据进行建模,而不是将其耦合到视图层。
答案 1 :(得分:0)
当您的数据协定与您的viewmodel分离时,您的产品可以更灵活地将表示层更改为另一个。例如,您在wpf应用程序中使用datacontract作为viewmodel。如果您想使用mvvm,则必须更改datacontract结构并实现INotifypropertyChange用于调用属性set中的RaisePropertyChanged方法。现在你也想要一个web应用程序。你需要在Web应用程序中调用RaisePropertyChanged吗?!!(这只是一个示例)。当你使用viewmodels时,你不用担心在更改你的数据时出现数据交换表示层。