В настоящее время я создаю экран входа в GWT, и мне удалось получить базовую версию структуры входа в систему.
Я создал следующие произведения:
- Класс точки входа (фактически он был задан).
- Композитный экран основного приложения.
- Композитный экран входа в систему.
У меня есть следующая логика в моем методе точки входа:
MyApplication mainWindow = null;
public void onModuleLoad() {
LoginScreen loginScreen = new LoginScreen() {
@Override
public String onLogin(String username, String password) {
boolean passwordWasOk = rpcCheckUsernamePassword(username,password); // mechanism not important for this question
if (passwordWasOk) {
RootPanel.get().remove(0);
mainWindow = new MyApplication();
// Using root layout panel as main window is a layout type composite
RootLayoutPanel.get().add(mainWindow);
return null;
} else {
return "password was incorrect";
}
}
};
RootPanel.get().add(loginScreen);
}
Итак, я создал метод в композите LoginScreen, который вызывается, когда пользователь нажимает кнопку «Вход». Если метод onLogin не проходит проверку имени пользователя и пароля, тогда описательная часть может быть возвращена в композит входа, чтобы он мог обновить пользователя. Экран входа в систему будет оставаться на экране до тех пор, пока пользователь не использует правильную комбинацию имени пользователя и пароля.
У меня вопрос, это правильный способ использования композитов? Где в идеале должна находиться логика входа? Является ли лучшая альтернатива для вставки какого-либо объекта обработчика входа в конструктор композита или через установщик или метод, который я использовал, вполне нормален?
Поскольку я планирую написать довольно много кода, я хочу с самого начала получить правильный стиль кодирования.
Любая обратная связь с благодарностью.
Спасибо