Чтобы реализовать графический интерфейс приложения, я хотел бы, чтобы вся логика переходила от одной формы к другой централизованной. Этот 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 каким-то образом? Если этого не происходит, это звучит как хорошая идея реализации? Спасибо!