Ce qui devrait être le meilleur moyen de concevoir une classe DAO ?
Approche n ° 1: Conception DAO classe comme un objet.
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);
}
}
Approche n ° 2: la Conception DAO classe avec des méthodes statiques (aka statique de la classe)
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);
}
}
En approche#1, je dois créer un objet de la classe DAO dans tout le code du client (autre option est de passer la référence de DAO tout autour). alors que dans l'approche n ° 2, je n'ai pas à créer l'objet et les méthodes statiques peuvent être conçus avec pas de suivi de l'état.
Donc l'approche qui est le meilleur dans la conception des classes DAO ?