JAVA练习:单一职责原则重构
·
问题背景
原始Login类同时承担界面展示、登录校验、数据库连接、用户查询、程序入口多重职责,功能高度耦合,违反单一职责原则(一个类只负责一类功能),修改某部分功能易影响其他模块。
重构思路
按职责拆分,分为 4 个独立类:
- LoginView:负责界面初始化、展示
- UserService:负责登录业务校验
- DBConnection:负责获取数据库连接
- UserDao:负责数据库用户查询主类仅负责流程调用。
代码实现
import java.sql.Connection;
// 1.界面类:界面初始化与展示
class LoginView {
public void init() {}
public void display() {}
}
// 2.数据库工具类:获取连接
class DBConnection {
public Connection getConnection() {
return null;
}
}
// 3.数据访问类:查询用户
class UserDao {
private DBConnection db = new DBConnection();
public boolean findUser(String userName, String userPassword) {
return true;
}
}
// 4.业务校验类:登录验证
class UserService {
private UserDao userDao = new UserDao();
public boolean validate(String userName, String password) {
return userDao.findUser(userName, password);
}
}
// 主程序入口类
public class Login {
public static void main(String[] args) {
LoginView view = new LoginView();
UserService service = new UserService();
view.init();
view.display();
}
}
更多推荐

所有评论(0)