代码之家  ›  专栏  ›  技术社区  ›  dkretz

用于桌面的MVC.NET

  •  7
  • dkretz  · 技术社区  · 17 年前

    有没有任何理由认为MVC对桌面应用和web应用不一样有用?

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

    4 回复  |  直到 13 年前
        1
  •  3
  •   ehosca    15 年前
        2
  •  1
  •   Israr Khan    17 年前

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

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

    业务逻辑-> 数据层->

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

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

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

        3
  •  0
  •   Brian Genisio    17 年前

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

        4
  •  0
  •   Justin    15 年前

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

    See Wikipedia for some examples

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

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

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