我知道工廠和抽象工廠的方法,但我想在Java中創建一個DAO工廠模式。什麼是DAO工廠模式?
- 我想知道它的重要性。
- 它的用法
我已經檢查this link但我很難理解。
任何人都可以在示例的幫助下解釋它嗎?
編輯:這裏是DAO模式的一個例子,因爲我理解它:
public interface UserDAO {
public void insert(User user);
public void update(User user);
public void delete(int userId);
}
實現:
public class UserDAOImpl implements UserDAO {
@Override
public void delete(int userId) {
// delete user from user table
}
@Override
public User[] findAll() {
// get a list of all users from user table
return null;
}
@Override
public User findByKey(int userId) {
// get a user information if we supply unique userid
return null;
}
@Override
public void insert(User user) {
// insert user into user table
}
@Override
public void update(User user) {
// update user information in user table
}
}
工廠:
public class UserDAOFactory {
public static UserDAO getUserDAO(String type) {
if (type.equalsIgnoreCase("jdbc")) {
return new UserDAOImpl();
} else {
return new UserDAOImpl();
}
}
}
客戶端代碼:
User user=new User();
user.setName("Jinoy P George");
user.setDesignation("Programmer");
user.setAge(35);
//get a reference to UserDAO object
UserDAO userDAO=UserDAOFactory.getUserDAO("jdbc");
//call insert method by passing user object
userDAO.insert(user);
這個道模式是否正確?
我應該在哪裏打開連接並關閉它?
您的'MammalsFactory'創建'SQL'和'Oracle'?有趣;) –
您是否已經檢查了http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html中「使用抽象工廠模式」一節中的示例代碼? – joschi
是的,我有,但我無法理解... – coder25