gpt4 book ai didi

winforms - 为用 WinForms 编写的向导使用 MVC、MVP 或 MVVM 模式?

转载 作者:行者123 更新时间:2023-12-03 10:41:12 28 4
gpt4 key购买 nike

我过去编写的所有 WinForms 向导都在 UI 和模型之间存在高度耦合。也就是说:各个页面都知道启用/禁用下一个/上一个按钮,如何对按下下一个按钮使用react等。这使得测试变得困难,因为要测试任何逻辑,你必须先把很多脚手架放在一起。

我最近一直在使用 MVC(以 ASP.MVC 的形式),我发现它很容易测试。我也玩过 WPF,我想我正在了解 M-V-VM。

我正在努力解决 WinForms 中的 M-V-P 模式(即没有 WPF 样式的数据绑定(bind))。特别是,我需要实现一个向导。

我每页都有一个 Controller 吗?管理整个向导的 View 模型?还有什么?

这是在 C# 中的 WinForms(不是 WPF)中。 .Net 2.0 首选。

最佳答案

最后,我选择了 MVVM 和 MVP 之间的选择,混合使用了 WinForms 数据绑定(bind)和 View 回调接口(interface)。我猜它比 MVVM 更接近 MVP。每个页面都有一个 viewmodel/presenter,向导本身有自己的 viewmodel/presenter 来管理流程(例如,某些选项会跳过后面的向导页面)。

结果非常好,并且为每个演示者类编写单元测试相当容易。

底层向导框架不使用 MVVM 或 MVP。这只是普通的 WinForms 代码。

关于winforms - 为用 WinForms 编写的向导使用 MVC、MVP 或 MVVM 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1136032/

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