2010-06-09 30 views
1

我很努力去理解为什么MVVM真的是一个很好的模式来实现的对我来说,除了麻烦它,它只是添加另一个层,我有编码。我知道我可以改变用户界面,但我真的不需要。相反,我将无法使用riaservices,datagrid,dataform等开箱即用功能所有控件都需要一些实现。为什么不能简单?为什么我应该使用MVVM,当它打破建立在riaservices功能

真的没有办法让MVVM自动设置“IsBusy”和所有的数据表单编辑功能。这就像重新发明了我的轮子,似乎我能够使用riaservices更快地编写代码。

回答

1

有些人会问:“为什么我应该在打破MVVM时使用RIA服务?” :-)我不够RIA服务专家来回答关于IsBusy的精确问题,并保留MVVM的简单编辑功能,但请记住,MVVM和RIA服务现在在炒作过山车上都很高,而且几乎任何博客或开发网站都会试图说服你,为什么自切片面包以来它们是最好的东西。如果您没有看到对技术或模式的需求,请不要使用它。这就是说:在我看来,RIA服务的真正意义在于让你在页面上打一个DataGrid,让你用它来查看一个数据库。这就是为什么几乎所有的样本都是这样做的,而且大多数样本都不会打扰MVVM,因为它阻碍了光滑的向导和拖放式开发,这正是RIA真正闪耀的地方。如果这就是你所做的,没有MVVM的RIA可能比反过来更有意义。

+1

@Jakob它的真正意义在于为您正在构建的应用程序以及您希望在几年内的位置做些什么。如果你正在设计一个能够很好地演示的CRUD应用程序,那么RIA服务就是要走的路。但是,如果您长期看待并希望一个可测试的应用程序,并且因此可以维护,则可以使用带有或不带有RIA的MVVM。你需要了解为什么这些技术是有用的,它的所有关于正确工作的正确工具。 – Agies 2010-06-11 02:21:24

1

MVVM不会中断RIAServices。它总是关于你如何实现这个模式。请记住,MVVM是Model-View-ViewModel。 ViewModel完成繁重的工作,视图绑定到模型上。

使用RIA + MVVM,ViewModel只需处理RIA服务调用。它仍然可以使用RIA服务提供的模型,并将它们与视图绑定。 IsBusy毫无问题,这通常是您可以提出的视图状态。

为什么一起使用这两个?正因为你不知道可能会发生什么变化以及测试和灵活性。我不知道你,我宁愿测试我的视图模型和逻辑,而不依赖于可用的服务和数据库。使用MVVM,View Model可以做到这一点 - 我可以为一个“假”层存根,为我提供模型来测试。这也意味着我可以构建代码,并让设计人员设计,即使我还没有制定出服务或尚未构建该部分。

一旦准备就绪,那么在生产版本中,我会在“真正的”RIA模型中进行连线并从那里开始。

相关问题