为了实现应用程序的 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 是否以某种方式支持它?如果没有,这听起来是一个很好的实施想法吗?谢谢!
The 状态设计模式 http://en.wikipedia.org/wiki/State_pattern描述如何实现有限状态机。
有许多略有不同的设计模式来控制 UI 中的屏幕,但我认为应用控制器设计模式 http://www.martinfowler.com/eaaCatalog/applicationController.html适合你想做的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)