关于asp.net mvc:用于桌面的MVC.NET

MVC.NET for the desktop

MVC对桌面应用程序和Web应用程序不一样有用,有什么原因吗?

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


棱镜


我一直认为MVC和N层应用程序是一样的,所以如果我错了,请纠正我,伙计们。

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

图形用户界面(web、winform、随便什么)->业务逻辑->数据层->还有一个潜在的"模型"

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

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

我认为这个问题可以称为SOA。

编辑:需要注意的是,这四个层次的应用程序是作为单独的项目创建的,然后用于添加对项目、DLL或GAC(或您喜欢的任何地方….)的引用,因此,不需要目录结构。


没有什么能阻止你在桌面应用程序中使用MVC模式。事实上,它已经在桌面上使用了,因为以前有一个网络。

参见维基百科获取一些例子

MVC只是"模型-视图-控制器"的缩写,它描述了使用MVC模式将关注点彼此分离的方式。

至于在桌面上使用ASP.NET MVC,还存在一些问题。首先,它依赖于HTTP请求和响应。您将需要一个服务器层作为应用程序体系结构的一部分来侦听请求并发送响应。第二,ASP.NET MVC视图实际上只是简单的HTML文本文件,用于通过Web浏览器进行解释。因此,您需要一个HTML呈现组件作为GUI前端。您可能还需要一个CSS呈现引擎和一个JavaScript解释器。

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

因为已经有了许多优秀的MVC框架,所以确实没有太多的需求。还有一些密切相关的模式,如MVP(模型视图演示者)和MVVM(模型视图模型)。例如,许多WPF(Windows演示框架)应用程序都是MVVM。


六羟甲基三聚氰胺六甲醚。。。好吧,你的视图可以呈现为任何东西…HTML、XML等。那么,为什么不使用XAML呢?我想知道您是否可以让您的WPF或Silverlight应用程序以这种方式在MVC框架中工作…也就是说,不需要运行Web服务器。