gpt4 book ai didi

c# - 在 WinForms 中实现干净的 UI 功能同时保持体面的解耦架构的最佳方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 22:11:42 25 4
gpt4 key购买 nike

我倾向于使用相当 self 记录的 void doSomething() 方法来实现 UI 功能,即如果用户按下此按钮然后执行此操作,然后启用此列表框,禁用该按钮等。这是最好的方法吗?一般 UI 管理是否有更好的模式,即如何控制控件何时启用/禁用等。等等取决于用户输入?

我常常觉得我正在转向“做所有事情的大类”反模式,因为似乎与“主”表单类交互太多。通常,即使我在使用相对模块化设计实现的类中包含私有(private)状态变量,我仍然发现它增长得如此之快,这太荒谬了。

那么,人们可以给我一些好的建议,让我在不落入这些陷阱的情况下生成高质量、可测试、解耦的 WinForms 设计吗?

最佳答案

你可以试试MVP如果您想将 UI 的逻辑放在一个单独的类中..

正如 Martin Fowler 或 Michael Feathers 所说,在模型 View 演示器中,UI 的逻辑被分离到一个称为演示器的类中,它处理来自用户的所有输入并告诉“哑” View 显示什么以及何时显示.该模式的特殊可测试性来自于这样一个事实,即整个 View 可以用一个模拟对象替换,这样最重要的部分呈现器可以很容易地单独进行单元测试。

关于c# - 在 WinForms 中实现干净的 UI 功能同时保持体面的解耦架构的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/124096/

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