我有一个 DataDAO 类,我的 Servlet 用于对几种对象类型进行 CRUD 操作。当我刚开始时,我只与这门课做一些事情,所以看起来还可以。但是现在项目越来越大,我添加的每个功能都必须为这个类添加一个新方法,所以我现在有大量的静态方法。看来我应该如何重构它,但不确定如何重构。有我可以使用的设计模式吗?或者有人可以解释为什么我应该或不应该担心它吗?我这样做只是为了学习,所以请不要告诉我使用一些简单的框架,我想尽可能细致地使用 java。这是一个典型的例子:
public static ArrayList<Card> getCardsForUser(UserAccount user) {
//TODO: get the username and password then get all flashcards linked to that user and return them in a list
ArrayList<Card> cardsForUser = new ArrayList<>();
try(Connection conn = DriverManager.getConnection(DBURL, un, pw)) {
PreparedStatement pstm = conn.prepareStatement("Select * From flashcard where fk_user_id = ?");
pstm.setString(1,user.getUserID());
ResultSet usersCards = pstm.executeQuery();
while(usersCards.next()){
String cat = usersCards.getString("category");
if(cat == null) {
cat = "null";
}
Card card_new = new Card(usersCards.getString("card"),usersCards.getString("answer"),usersCards.getInt("cardid"),cat,usersCards.getInt("times_right"),usersCards.getInt("times_wrong"));
cardsForUser.add(card_new);
}
System.out.println("Card For User size: "+cardsForUser.size());
return cardsForUser;
} catch(SQLException e) {
//TODO: what happens now ?
e.printStackTrace();
return null;
}
}
我的应用程序基本上是一种创建“抽认卡”来学习的方法。
我试图创建一个接口“DataDAO”,然后让每个不同对象的子类实现该接口。但是有些操作与界面并不完全一致,而且似乎有很多不必要的工作。为什么这是一个好或不好的方法?
倚天杖
慕勒3428872
相关分类