0

我对 MVVM 和 MVC 有疑问。我正在开发一个桌面客户端和 Web 应用程序。我打算使用 WPF(和 MVVM)为 Web 应用程序开发桌面客户端和 ASP.Net MVC。

我以前从未使用过 ASP.Net MVC,虽然我从来没有真正喜欢过 Web 窗体(除了一些功能,如母版页、输出缓存等),而且我主要使用 AJAX (jQuery) 和处理程序来填充 HTML 和处理输入(我认为在阅读了有关该模式的信息后,我很接近 MVC,但方式不同)。

现在,这些应用程序大多具有相同的输入、报告和数据库。我计划创建可以在 MVVM 和 MVC 中重复使用的模型。但是在阅读了关于这些模式的各种文章,以及对 ASP.Net MVC 代码的分析之后,我怀疑它是否可以做到。在 MVVM 中,View 永远不知道 Model,而在 MVC 中,Controller 与 View 共享 Model。此外,在 ASP.Net MVC 中,视图(ASPX 文件)是从 System.Web.Mvc.ViewPage 派生的,标签/标题是从模型本身填充的。

有没有办法可以为两个应用程序使用相同的模型?

谢谢你。

里特什

4

1 回答 1

2

在 MVVM 中,View 永远不知道 Model,而在 MVC 中,Controller 与 View 共享 Model。

不太对。在 MVVM 中,视图绑定到视图模型。与 ASP.NET MVC 中的完全相同。在 ASP.NET MVC 中,控制器不与视图共享模型。它共享一个视图模型。它与模型对话,然后构建一个传递给视图的视图模型。

与 MVVM 中的 MVC 相反,视图可以与模型对话,但这会在整个视图模型中间接发生,因此视图和模型都不知道彼此的存在。

因此,您可以在桌面客户端应用程序和 Web 应用程序中拥有相同的模型。唯一的区别是视图模型。

于 2012-08-14T06:31:29.363 回答