我知道工厂方法和抽象工厂方法,但我想在Java中创建一个DAO工厂模式。
- 我想知道它的重要性。
- 它的用途
我已经查看了此链接,但是对我来说很难理解。
有人能举一个例子解释一下吗?
编辑:以下是我理解的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);
这个DAO模式正确吗?
我应该在哪里打开连接并关闭它?
Database
,sql
和oracle
的一些实现,您已经成功地实现了抽象工厂方法模式。您只需要想出如何将sql
和oracle
实现为DAO即可。 - Merlyn Morgan-Graham