我有一个基于MVC的网络应用程序,看起来类似于这个UML结构:
UML - Diagram of the current Model-Controller structure
目前,ControllerContainer捕获从网络控制器引发的事件,并根据更改操作ModelContainer。如果发生某些更改(通过处理控制器事件),View将访问ModelContainer并显示更改的数据。
将View-Site更改为WPF技术提出了如何将此结构重构为相应的MVVM模式的问题。我扩展View的第一种方法看起来类似于这个UML-Diagram:
UML - diagram of the planned View extension
如图所示,ViewModels将包含当前Model的几个子集。 ASFAIK the View< - > ViewModel绑定处理用户交互很好,但是对于如何为ViewModels提供网络输入(我已经在ControllerContainer中处理)有什么好的实践吗?
答案 0 :(得分:0)
部分回答我自己的问题:
在我们当前的解决方案中,ViewModels将初始化并简单地使用Controllers(或由Control实施的功能接口)。因此,当前的MVC结构将保持不变,表示应用程序功能API的Control层和放置在Control层顶部的ViewModel层。
如果有更优雅的解决方案来合并这些模式,请随时评论/发布答案。