简单的Java项目编写流程
以考试系统(登录)为例:
1、界面模块 - LoginFrame
login.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 点击登录按钮, 才能触发登录业务
controller.login();
}
});
2、控制器模块 - Controller
public void login() {
// loginFrame 中获得 账号输入框 和 密码输入框的内容
String id = loginFrame.getIdField().getText();
String pwd = loginFrame.getPwdField().getText();
try {
// 从业务模块中获取对应的user
User user = service.login(id,pwd);
// 界面跳转
loginFrame.setVisible(false);
menuFrame.setVisible(true);
} catch (IdOrPwdException e) {
// 更新提示信息
loginFrame.updateMessage(e.getMessage());
}
}
3、业务模块(服务) - ExamService
- 业务都有什么
- 业务流程是什么,用到了哪些组件(从数据库),找到他
public User login(String id, String password) throws IdOrPwdException {
// 在这里写登录的过程
// 1.获得用户输入的账号, 密码
// 2.在模拟数据库中的users 查找有没有对应的User对象(根据id进行查找)
// 3.如果有user, 密码正确, 登录成功, 界面跳转
// 一般不能得到数据库的所有信息(判断效率很低)
User user = entityContext.getUserById(id);
if (user != null) {
// 判断密码
if (password.equals(user.getPassword())) {
return user;
}
}
// 4.如果有user, 密码不正确, 提示信息
// 5.没有user, 提示信息
// 自定义异常抛出
throw new IdOrPwdException("编号/密码错误");
}
4、数据库模块(存储数据)
5、主程序模块(开启程序) - Main
// 注:各个类之间使用的都要注入 依赖(set)
// 调用控制台
// 主程序开始
controller.startMain();