【问题标题】:Can the Model & Controller In ASP.NET MVC Be Useable For Other Views?ASP.NET MVC 中的模型和控制器可以用于其他视图吗?
【发布时间】:2013-01-21 02:13:52
【问题描述】:

我在想,是否可以将相同的 ASP.NET MVC 模型和控制器用于任何类型的视图,例如命令行、WPF 或任何其他 Xaml 视图层?因为理论上这应该是可能的。

如果有实际的实现,我将不胜感激。

【问题讨论】:

    标签: asp.net-mvc model-view-controller xaml asp.net-mvc-4


    【解决方案1】:

    我很确定您将无法按照您的意愿重用您的任何 MVC 架构,您必须采用如下所述的稍微不同的模式:

    MVC(模型视图控制器)的替代方案是 MVP(模型视图演示者)。两者的模型基本相同,控制器的作用也非常相似。根据您的实现,MVP 中的控制器可能会承担更多责任。在 MVP 内部,有两种实现方式:Supervising Controller 和 Passive View。 MVP 通常被认为是 WinForms 客户端的标准架构,也可以应用于 WebForms。以下是一些相关链接以获取更多信息:

    最后,如果你想拿起一本书,敏捷原则,模式, 和 C# 中的实践包含一个出色的演练,用于构建一个 基于控制台的工资单应用程序。一旦完成,他们将构建 WinForms UI 展示他们的应用程序架构如何允许他们 轻松添加新视图。

    【讨论】:

    • +1 获取有用信息,尽管关于控制器和模型重用的问题有些悬而未决
    • @soadyp 好声音,我已经在第一段告诉他这个坏消息了 :)
    • 基本上你应该能够在各种范式中重用“模型”。重用控制器的可能性较小。虽然不是什么大问题。因为控制器应该很小并且编组对业务逻辑的调用。因此,您可以拥有具有例如 UI 规则的支持类并重用这些类。但正如 Mattytommo 所暗示的那样,范式有些不同,并且有不同的要求。例如,MVC 控制器继承自 System.Web.Mvc.Controller。重用视图变得更加可疑。
    • @mattytommo 你的答案正是我正在寻找的我听说过 MVP 但我从来没有深入研究过我想是时候了解更多关于它的细节了,因为我愿意开发一个 Windows 8应用程序,您提供的那些链接将是我的起点,谢谢
    • @soadyp 我想你是对的,控制器可能是唯一需要调整的挑战,但是我不确定我们是否可以在不进行一些修改的情况下重用模型层,因为之间存在交互代码模型和控制器,但无论如何使用 ASP.NET MVC for Xaml 将是无稽之谈,因为有 MVP 来执行相同的任务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 2010-09-16
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多