回答
我一直认为术语MVC与n层应用程序一样 - 所以如果我在这里错了人,请纠正我。
当我下发展,我总是(除非其它指示)使用下面的模型/结构,同样在应用:
GUI(网页,Winform的,等等) - > 商业逻辑 - > 数据层 - > 还有一个底层的“模型”
......这是一种MVC - 所以是的,它也适用于桌面应用程序。这样做的主要优点是,您可以基于相同的代码开发Web,Win和移动(++)应用程序。
可以做的另一件事,是创建数据/ businesslayers为Web服务...
我觉得这个形式给出将有资格作为SOA。
编辑: 作为一个说明,四个级别的应用程序创建为单独的项目 - 然后用作对项目或DLL,或从GAC(或任何你喜欢的地方.... ):)因此,不需要目录结构。
嗯......好吧,您的视图可以呈现为任何东西...... HTML,XML等。那么,为什么不是XAML?我想知道是否可以让你的WPF或Silverlight应用以这种方式在MVC框架中工作......也就是说,不需要Web服务器运行。
没有什么从一个桌面应用程序中使用MVC模式阻止你。事实上,自从有了网络之前,它就已经在桌面上使用了。
See Wikipedia for some examples
MVC只是表示“模型视图控制器”,它描述的是关注相互使用MVC模式分离的方式。
至于在桌面上使用ASP.NET MVC,有几个问题。首先,它依赖于HTTP请求和响应。您需要一个服务器层作为您的应用程序体系结构的一部分来侦听请求并发送响应。其次,ASP.NET MVC视图实际上只是一个简单的HTML文本文件,可以被网页浏览器解释。所以,你需要一个HTML渲染组件作为GUI前端。你可能会需要一个CSS渲染引擎和一个JavaScript解释器。
基本上,您所做的只是将专用浏览器作为前端,将本地Web服务器作为后端运行。
真的没有太大的需要,因为有很多伟大的MVC框架已经。还有像MVP(Model View Presenter)和MVVM(Model-View-View Model)等密切相关的模式。例如,许多WPF(Windows Presentation Framework)应用程序都是MVVM。
- 1. 适用于Windows桌面的PocketSphinx
- 2. jQuery适用于桌面,但不适用于平板电脑
- 3. Javascript代码适用于桌面,但不适用于手机
- 4. 桌面分拣机不适用于json
- 5. 极限右侧不适用于桌面
- 6. Sencha Touch也适用于桌面?
- 7. AIR for iOS nativeApplication.idleThreshold仅适用于桌面?
- 8. 桌面视图仅适用于Windows
- 9. Angularjs代码适用于桌面Chrome,但不适用于移动Chrome
- 10. 代码适用于Firefox桌面v 22,但不适用于Firefox Android v 22
- 11. 自定义上传按钮适用于桌面,但不适用于手机
- 12. 适用于Premium +用户的桌面非HTML播放器?
- 13. 适用于HTML应用程序的简单桌面外壳
- 14. 适用于Windows的桌面gadet /应用程序
- 15. 适用于桌面应用程序的Java/Flex
- 16. 适用于桌面应用程序的MacRuby + IronRuby或JRuby?
- 17. 锚链接无法使用的桌面,但适用于移动
- 18. 适用于桌面应用程序的QML Symbian组件
- 19. 适用于Java桌面应用程序的MVC
- 20. 适用于桌面应用程序的Google Analytics(分析)
- 21. 适用于桌面和移动应用程序的OAuth 2.0
- 22. 适用于Java桌面应用程序的JavaFX,Swing或Flex
- 23. 适用于Windows桌面应用程序的Xamarin表单?
- 24. 适用于桌面应用的轻量级html控件(C++/Windows)
- 25. 适用于桌面应用程序的Adobe AIR和Appcelerator Titanium
- 26. NSIS - 适用于所有用户的桌面快捷方式
- 27. 用于VS的Resharper C++用于桌面
- 28. 创建适用于IE8(桌面)的移动优先网站
- 29. 适用于桌面客户端的Gmail IMAP OAuth
- 30. 适用于Windows的桌面Flash日志查看器?
哦......尼斯点布赖恩...... Genisio ...从“创世纪”这个词?;) – 2008-11-28 23:08:30
(注意别人:当时的评论发布 - 布赖恩Genisio有“666”点;) – 2008-11-28 23:09:10