gpt4 book ai didi

winforms - 您将如何在 Windows 窗体应用程序中实现 MVC?

转载 作者:行者123 更新时间:2023-12-02 00:16:26 24 4
gpt4 key购买 nike

我没有开发太多桌面/Windows 窗体应用程序,但我突然想到,使用 MVC( Model View Controller )模式进行 Windows 窗体 .NET 开发可能会有一些好处。

有人在 Windows 窗体中实现了 MVC 吗?如果是这样,您对设计有什么建议吗?

最佳答案

我过去所做的是使用类似的东西,Model-View-Presenter .

[注意:本文曾经可以在网络上找到。要立即查看,您需要下载 CHM,然后查看文件属性并单击“取消阻止”。然后你就可以打开CHM并找到该文章。感谢一百万,微软! 叹息]

表单就是 View ,我有一个 IView 接口(interface)。所有处理都发生在演示者中,演示者只是一个类。该窗体创建一个新的演示者,并将其自身作为演示者的 IView 进行传递。通过这种测试方式,您可以传入一个假的 IView,然后从演示者向它发送命令并检测结果。

如果我要使用成熟的模型- View - Controller ,我想我会这样做:

  • 表单就是 View 。它向模型发送命令,引发 Controller 可以订阅的事件,并订阅来自模型的事件。
  • Controller 是一个订阅 View 事件并向 View 和模型发送命令的类。
  • 模型引发 View 订阅的事件。

这适合 the classic MVC diagram 。最大的缺点是,对于事件,很难判断谁订阅了什么。 MVP 模式使用方法而不是事件(至少是我实现它的方式)。当表单/ View 引发事件(例如 someButton.Click)时,表单只需调用演示器上的方法来运行其逻辑。 View 和模型根本没有任何直接联系;他们都必须通过演示者。

关于winforms - 您将如何在 Windows 窗体应用程序中实现 MVC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/122388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com