【问题标题】:MVC.NET for the desktop用于桌面的 MVC.NET
【发布时间】:2010-09-24 12:28:07
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net-mvc desktop-application


    【解决方案1】:

    【讨论】:

    【解决方案2】:

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

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

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

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

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

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 哦...好点 Brian... Genisio... 来自“创世纪”这个词? ;)
      • (请注意:在发表评论时 - Brian Genisio 获得了“666”分;)
      【解决方案4】:

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

      See Wikipedia for some examples

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

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

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

      实际上没有太多需要,因为已经有很多很棒的 MVC 框架。还有一些密切相关的模式,如 MVP(Model View Presenter)和 MVVM(Model-View-View Model)。例如,许多 WPF(Windows Presentation Framework)应用程序都是 MVVM。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-06
        • 2020-06-24
        • 2011-04-03
        • 2017-07-15
        • 1970-01-01
        • 1970-01-01
        • 2011-06-30
        相关资源
        最近更新 更多