networking - MVC 到 MVVM 与网络 : Architectural appraoch/best practices

标签 networking model-view-controller mvvm architecture

我有一个基于 MVC 的网络应用程序,它看起来类似于这个 UML 结构:

UML - Diagram of the current Model-Controller structure

目前,ControllerContainer 捕获从网络 Controller 引发的事件并根据更改操作 ModelContainer。 View 将在某些更改(通过处理 Controller 事件)的情况下访问 ModelContainer 并显示更改的数据。

将 View-Site 更改为 WPF 技术带来了如何将此结构重构为相应的 MVVM 模式的问题。我扩展 View 的第一种方法类似于这个 UML 图:

UML - diagram of the planned View extension

如图所示,ViewModel 将由当前模型的几个子集组成。 ASFAIK View <-> ViewModel 绑定(bind)可以很好地处理用户交互,但是关于如何为 ViewModels 提供网络输入(我已经在 ControllerContainer 中处理)有什么好的做法吗?

最佳答案

部分回答我自己的问题:
在我们当前的解决方案中,ViewModel 将初始化并简单地使用 Controller(或由 Control 实现的功能接口(interface))。因此,当前的 MVC 结构将保持原样,控制层代表应用程序的功能 API,而 ViewModel 层位于控制层之上。

如果有任何更优雅的解决方案来合并这些模式,请随时评论/发布答案。

关于networking - MVC 到 MVVM 与网络 : Architectural appraoch/best practices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45861800/

相关文章:

java - java.net如何处理503响应代码

c# - 无法加载文件或程序集“Microsoft.CodeDom.Providers.DotNetCompilerPlatform。 (来自 HRESULT : 0x80131040) 的异常

c# - 当用户清理 WPF 中的文本字段时,文本框未将值设置为 null

c# - 将数据保存在多个 ViewModel 使用的文件中

wpf - 没有数据绑定(bind)时将属性更改从模型传递到 View

macos - Yosemite,双接口(interface)(eth/wifi)通过特定接口(interface)访问站点

networking - iOS 5 网络库

c# - MVC View 页面应在部分 View (AJAX) 加载时隐藏

php - 让每个类自动加载是否明智

networking - 创建可通过网络发现的 Windows (win32) 服务