DAOクラスを設計する最良の方法は何ですか?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:アプローチ#1の静的メソッド(別名静的クラス)とデザイン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);
}
}
、Iは、でDAOクラスのオブジェクトを作成する必要がありますすべてのクライアントコード(他のオプションはDAOの参照をすべて渡すことです)。アプローチ#2ではオブジェクトを作成する必要はなく、ステートトラッキングなしでスタティックメソッドを設計できます。
どのアプローチがDAOクラスの設計において最高ですか?
使用アプローチ#1をとへの参照を注入しますそれは春のようなIOCコンテナを使用して –
それは奇妙な誰も[BalusC](そのような有益な有益なチュートリアルを参照してください誰かが言った:http://stackoverflow.com/users/157882/balusc):[DAOチュートリアル - dat層](http://balusc.blogspot.com/2008/07/dao-tutorial-data-layer.html)を参照してください。それを読むと、多くのDAOの設計と実装に関連する質問に対する回答が見つかります。 – informatik01