7

是否有任何理由表明 MVC 对桌面应用程序和 Web 应用程序的用处不同?

使 ASP.NET MVC 目录树可实现为桌面应用程序需要什么?

4

4 回答 4

3

棱镜

于 2010-10-16T15:41:22.450 回答
1

我一直认为 MVC 一词与 n 层应用程序相同 - 如果我在这里错了,请纠正我。

当我开发时,我总是(除非有其他指示)使用以下模型/结构,也在应用程序中:

GUI(Web,Winform,等等)-> 业务逻辑-> 数据层-> 并且还有一个底层的“模型”

...这是一种 MVC - 所以是的,它对桌面应用程序也很有用。这样做的主要优点是,您可以基于相同的代码开发 web、win 和 mobile(++) 应用程序。

可以做的另一件事是将数据/业务层创建为 Web 服务......

我认为这种方法符合 SOA 的要求。

编辑:作为一个注释,四个级别的应用程序被创建为单独的项目 - 然后用作添加对项目或 DLL 或来自 GAC(或任何你喜欢的地方.....)的引用 :) 因此,不需要目录结构。

于 2008-11-28T22:55:59.217 回答
0

嗯...嗯,您的视图可以呈现为任何东西... HTML、XML 等。那么,为什么不是 XAML?我想知道您是否可以通过这种方式让您的 WPF 或 Silverlight 应用程序在 MVC 框架中工作……也就是说,不需要运行 Web 服务器。

于 2008-11-28T22:56:33.770 回答
0

没有什么能阻止您在桌面应用程序中使用 MVC 模式。事实上,在有网络之前,它就已经在桌面上使用了。

有关一些示例,请参见 Wikipedia

MVC 仅代表“模型视图控制器”,它描述了使用 MVC 模式将关注点彼此分离的方式。

至于在桌面上使用 ASP.NET MVC,有一些问题。一方面,它依赖于 HTTP 请求和响应。您将需要一个服务器层作为应用程序架构的一部分来侦听请求并发送响应。其次,ASP.NET MVC 视图实际上只是简单的 HTML 文本文件,旨在由 Web 浏览器解释。因此,您需要一个 HTML 呈现组件作为 GUI 前端。您可能还需要一个 CSS 渲染引擎和一个 JavaScript 解释器。

基本上,您所要做的就是运行一个专用浏览器作为前端,一个本地 Web 服务器作为后端。

因为已经有很多很棒的 MVC 框架,所以真的不需要太多。还有一些密切相关的模式,如 MVP(模型视图演示器)和 MVVM(模型-视图-视图模型)。例如,许多 WPF(Windows Presentation Framework)应用程序都是 MVVM。

于 2010-10-16T15:52:52.843 回答