适用于桌面的MVC.NET

时间:2008-11-28 22:46:31

标签: asp.net-mvc desktop-application

MVC对桌面应用程序和Web应用程序的用途是否有任何原因?

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

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

我一直认为MVC这个术语和n层应用程序一样 - 所以如果我在这里错了,请纠正我。

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

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

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

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

我认为这种方法可以作为SOA。

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

没有什么可以阻止您在桌面应用中使用MVC模式。实际上,它已经在桌面上使用,因为之前有一个网络。

See Wikipedia for some examples

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

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

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

由于已经存在许多优秀的MVC框架,因此确实没有太多需求。还有一些密切相关的模式,如MVP(模型视图展示器)和MVVM(模型 - 视图 - 视图模型)。例如,许多WPF(Windows Presentation Framework)应用程序都是MVVM。