繁体   English   中英

WPF MVVM服务层

[英]WPF MVVM service layer

我打算首次按照MVVM模式编写一个WPF应用程序,但对我来说并不是很清楚。 假设视图有一个“保存”按钮,当它被命中时,我需要保存我的数据的当前状态(模型)。 这将通过向SOAP服务发送SOAP消息来完成。

在我的MVVM设置中,这些SOAP请求/响应处理程序是否存在? 每当按下保存按钮时,视图模型是否会自动调用SOAP? 视图模型是否应该通知模型保存自己? 也许它是另一种方式,与MVVM完全分开?

我的想法是(至少在这种特定情况下)视图模型将处理它,因为它需要在视图中禁用保存按钮,直到当前保存请求完成。

我通常在viewmodel和SOAP / WCF / Webservice层之间放置一个逻辑客户端应用程序/业务层。 该层是所有非视图业务逻辑和处理逻辑所在的层。 请记住,viewmodel是视图的模型,而不是域的模型。 因此,您希望尽快将控制权交给下一层。

在这种情况下,我将使视图在viewmodel上触发一个save命令,该命令又将调用应用程序层,而应用程序层又会调用远程服务。

ViewModel,不应该做这样的操作。 它只应该触发它。 因此,模型必须这样做(或者负责加载和保存操作的另一个中间层,而不是ViewModel本身)。

ViewModel可以观察保存操作,并可以提供有关View进度的状态信息。

我将创建一个可由ViewModel访问的服务处理程序。 将其传递给viewmodel的构造函数,并调用服务处理程序公开的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM