如何设计DAO类是最佳的方式?
方法1: 将DAO类设计为一个对象。
class Customer {
//customer class
}
class CustomerDAO {
public void saveCustomer(Customer customer) {
//code
}
public Customer getCustomer(int id) {
//code
}
}
//Client code
class client {
public static void main(String[] args) {
CustomerDAO customerDAO = new CustomerDAO();
Customer customer = new Customer();
customerDAO.saveCustomer(customer);
}
}
方法#2:使用静态方法设计DAO类(也称为静态类)
class Customer {
//customer class
}
class CustomerDAO {
public static void saveCustomer(Customer customer) {
//code
}
public static Customer getCustomer(int id) {
//code
}
}
//Client code
class client {
public static void main(String[] args) {
Customer customer = new Customer();
CustomerDAO.saveCustomer(customer);
}
}
在第一种方法中,我必须在所有客户端代码中创建DAO类的对象(另一种选择是在各处传递DAO的引用)。而在第二种方法中,我不必创建对象,可以设计不具有状态跟踪的静态方法。那么,在DAO类的设计中,哪种方法最好呢?