【问题标题】:using MVC MVP patterns in winforms [closed]在winforms中使用MVC MVP模式[关闭]
【发布时间】:2010-11-16 05:36:46
【问题描述】:

我在网上阅读了有关用于 UI 设计的 MVC、MVP 模式的信息。但是,即使重新阅读了几次,我也无法完全理解它是如何工作的。我使用 C#/winforms 进行开发。有人能指点我一本好书/博客/网站吗?这会让我决定是否应该采用它。谢谢。

【问题讨论】:

  • 加入俱乐部 :-)。这可能有点令人困惑......
  • 我对这个主题也很感兴趣。如果您需要让应用程序在不同的环境中运行,我可以看到优势,但我看不到其他优势。

标签: c# winforms model-view-controller


【解决方案1】:

PolymorphicPodcast 上查看these videos 的一些内容。他很好地描述了 MV* 模式,并为每个模式提供了可靠的示例。具体来说,请查看winforms video

【讨论】:

  • 播客+1。我认为在观看它们时,设计第一次真正吸引了我。
【解决方案2】:

我实际上认为Wikipedia's page on MVC 对模型视图控制器架构有一个非常好的概述。

您可以使用 Windows 窗体和 C# 进行 MVC,但比使用其他平台更难。 MVC 完全是关于关注点分离 - 并且应该可用于任何平台。但是,某些平台比其他平台更容易做到这一点。

要使其在 Windows 窗体应用程序中正常工作,“诀窍”是确保在设计窗体时明确分离关注点。尝试在事件处理(控制器)、表单设计和布局(视图)以及业务逻辑和设计(模型)之间保持一些分离。 Windows 窗体的基本设计并没有明确强制或指导您进行这种分离,因此您可以自行决定是否将这些东西分开。

Windows 窗体中最棘手的问题是防止视图和控制器变得过于相互依赖。 WinForm 设计器自然地将所有事件处理与表单放在同一个类中,因此很容易将两者联系在一起。如果你想遵循类 MVC 架构模式,你必须自己保持这种分离。

【讨论】:

    【解决方案3】:

    this SO 帖子怎么样。这很好地概括了他们的身份。

    【讨论】:

      【解决方案4】:

      首先阅读Martin Fowler's comparative article on different GUI Architectures。它涵盖了 MVC(过去称为 MVP)和许多其他有用的信息,这些信息应该有助于为您构建概念。

      【讨论】:

        【解决方案5】:

        我刚刚写了一篇关于使用 MVP Passive View 模式的博文。

        http://coding.infoconex.com/post/(MVP)-Model-View-Presenter-Passive-View.aspx

        如果我有任何问题,请寻求反馈。

        【讨论】:

          猜你喜欢
          • 2010-10-06
          • 2010-11-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-05
          • 2011-02-04
          相关资源
          最近更新 更多