【问题标题】:Porting WPF to ASP MVC?将 WPF 移植到 ASP MVC?
【发布时间】:2014-02-25 16:57:21
【问题描述】:

我们正在开发一个应用程序,它将在 ASP MVC 上具有桌面 WPF 应用程序和 Web 界面。我的主要问题是,怎样才能使工作尽可能少重复。

我的理想是使用 MVC 模式以某种方式开发 WPF 应用程序,这样我们就可以将控制器从 WPF 应用程序复制/粘贴到 ASP 并仅在视图部分上工作。那可能吗?

我研究并发现,对于这类任务,我也可以坚持使用 XBAP,但据我们研究,许多人在启动它们时遇到问题。 Silverlight 也不是一条路 :(

有什么想法吗?

感谢您的宝贵时间!

【问题讨论】:

  • 您需要同时开发具有完全相同特性/功能的桌面应用程序和 Web 应用程序?为什么?
  • 桌面应用程序会完全在本地运行(就像在没有服务器中一样)的想法吗?

标签: wpf asp.net-mvc


【解决方案1】:

不,您不能将内容从 Windows 应用程序“复制/粘贴”到 Web 应用程序。和不。 “复制/粘贴”不是最佳的重用方式。

你的做法完全错误。

Reusability 背后的主要思想是保持应用程序组件和层彼此解耦,以便它们可以移植到不同的应用程序甚至不同的平台。

您不可能仅仅因为基于 HTML 的 Web UI 是 本质上是无状态的,Windows 应用程序通常以有状态的方式开发。

您需要做的是在 WPF 端(而不是 MVC)使用 MVVM 以保持应用程序逻辑,最重要的是 业务逻辑 与 UI 完全分离。

这样,在任何其他平台上重用的机会就会大得多。您的所有共享业务逻辑和应用程序逻辑都将存在于 UI-agnostic 层中,这些层并不真正“关心”前端。

【讨论】:

  • 嗯,是的,当我写“复制粘贴”时,我指的是可以重用的业务逻辑部分。我将研究 MVVM。感谢您的帮助!
【解决方案2】:

不可能。 WPF 和 ASP.NET MVC 有完全不同的视图。

您唯一可以重复使用的是您的后端 API。您无需像使用 WPF 那样将 API 类注入到 ViewModel 中,而是将这些相同的 API 类注入到 MVC 控制器中。

【讨论】:

    【解决方案3】:

    我建议忘记重用大量客户端代码的想法。

    我建议构建一个 3 层架构,这样您就可以在 ASP.Net MVC 和 WPF 应用程序中重用所有服务层(业务服务和 DAL)。您仍然需要在每个应用程序中编写大量特定代码。

    如果您的主要目标是通过 Internet 部署 WPF 应用程序,那么 XBAP 就是要走的路。或者 Silverlight,因为它是一项成熟的技术,将得到多年的支持。

    【讨论】:

      猜你喜欢
      • 2016-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多