gpt4 book ai didi

c# - 将形式重构为状态模式?

转载 作者:行者123 更新时间:2023-11-30 21:24:29 24 4
gpt4 key购买 nike

我想重构一些代码。

基本上我要重构的代码是一个表单(使用System.Windows.Forms;)

现在的设置方式,根据您选择的单选按钮,它会显示不同的窗口布局:不同的标签、按钮等。并不总是有很大的区别,但不同。这是到处都是很多条件语句垃圾。相反,我想用状态模式重构它。主要有三种状态。

我不确定执行此操作的最佳方法。现在 IState 接口(interface)有一个 DoAction() 方法,它执行一些特定于唯一状态的操作,以及一个 DrawForm() 方法,它根据当前状态重新绘制表单......但是,要执行 DrawForm(), State 类需要能够访问 Form 的成员变量。这就是让我陷入困境的原因。我真的不想揭穿他们。

有更好的方法吗?

最佳答案

您可以将状态类嵌套在表单中。然后他们将能够访问表单字段而无需公开它们。

关于c# - 将形式重构为状态模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1185993/

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