gpt4 book ai didi

.net - GUI 作为有限状态机

转载 作者:行者123 更新时间:2023-12-02 15:12:32 25 4
gpt4 key购买 nike

为了实现应用程序的 GUI,我希望将所有逻辑从一种形式集中到另一种形式。该 GUI 管理器将充当有限状态机。虽然我想我在某处见过这种实现,但我找不到与这种解决方案相匹配的设计模式。

表单将如下所示:

public class Login : Form
{
...

private void EnterButton_Click()
{
...

string user = loginTextBox.Text;
string password = passwordTextBox.Text;
bool isValid = SecurityManager.CheckUserLogin(user,password);

GUIManager.FormEnd(FormLogin,new LoginData(user, pass, isValid));
}

...
}

GUI 管理器将执行以下操作:

public class GUIManager
{
...

public void FormEnd(FormType type, FormData data)
{
switch (type)
{
...
case FormLogin:
LoginData ld = (LoginData)data;
if (ld.Valid)
{
m_loginForm.Hide();
m_mainForm.Show();
}
...
}
}

...
}

达到这一点我有以下问题:是否有一种设计模式可以形式化这个想法?如果有,.NET 是否以某种方式支持它?如果没有,这听起来是一个很好的实现想法吗?谢谢!

最佳答案

State design pattern描述如何实现有限状态机。

有许多略有不同的设计模式来控制 UI 中的屏幕,但我认为 Application Controller design pattern适合您想要做的事情。

关于.net - GUI 作为有限状态机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1624516/

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