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

UML - Diagram of the current Model-Controller structure

当前,ControllerContainer捕获从网络 Controller 发出的事件,并根据更改来操纵ModelContainer。如果发生某些更改(通过处理 Controller 事件),则View将访问ModelContainer并显示更改的数据。

将View-Site更改为WPF技术提出了有关如何将该结构重构为相应的MVVM模式的问题。我扩展 View 的第一种方法看起来类似于以下UML图:

UML - diagram of the planned View extension

如图所示,ViewModels将包含当前Model的几个子集。 ASFAIK,View ViewModel绑定(bind)可以很好地处理用户交互,但是在如何为ViewModels提供网络输入方面(我已经在ControllerContainer中进行了处理)是否有很好的实践?

最佳答案

要部分回答我自己的问题:
在我们当前的解决方案中,ViewModels将初始化并简单地使用Controllers(或由Control实现的功能接口(interface))。因此,当前的MVC结构将保持原样,表示应用程序功能API的Control层和放置在Control层顶部的ViewModel层。

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

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

10-16 17:46