如何在GWT组合中保持业务逻辑分离?
我目前正在构建一个GWT登录屏幕,并设法使登录结构的基本版本正常工作 我创作了以下作品:如何在GWT组合中保持业务逻辑分离?,gwt,Gwt,我目前正在构建一个GWT登录屏幕,并设法使登录结构的基本版本正常工作 我创作了以下作品: 一个入口点类(实际上是给定的) 主应用程序屏幕组合 登录屏幕组合 我的入口点方法中有以下逻辑: MyApplication mainWindow = null; public void onModuleLoad() { LoginScreen loginScreen = new LoginScreen() { @Override public String onL
- 一个入口点类(实际上是给定的)
- 主应用程序屏幕组合
- 登录屏幕组合
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方法无法验证用户名和密码,那么可以向login复合文件返回叙述,以便它可以更新用户。登录屏幕将保持在屏幕上,直到用户使用正确的用户名/密码组合
我的问题是,这是使用复合材料的正确方法吗?理想情况下,我的登录逻辑应该驻留在哪里。在组合的构造函数中或通过setter注入某种登录处理程序对象是更好的选择,还是我使用的方法很正常
由于我计划编写大量代码,我希望从一开始就正确使用编码样式
非常感谢您的反馈
谢谢,对于复杂的项目,您可能希望使用(MVP)设计模式。它允许您将呈现逻辑(视图)与业务逻辑分离。为了让您开始,官方文档中有关于它的内容,另外还有一个内容,它启动了整个GWT+MVP=感谢链接。我看了你链接到的演示文稿。它的信息密度太高,移动速度极快。MVP/GWT模式似乎确实适用于我的情况。谢谢