java设计模式之工厂模式

工厂模式,从搜索引擎给出的结果大致比较一致,可能是这个比较简单的缘故。总的来说就三种情况:简单工厂模式,工厂方法模式,抽象工厂模式。总的思想就是希望说通过实现工厂模式可以为后期的功能扩展,或者类似模块的追加,提供一些便利,可以在不用动到核心代码的情况下,完成客户的需求。
一般来说有三大块:接口,接口的实现(具体实现类),还有就是工厂类。特殊的还有抽象工厂类。接口就是要把一些需要的功能点都罗列出来,然后我们再在具体的实现类里面把接口的所有功能都实现一回。接着就可以通过工厂这个类来生产我们需要的东西了。比如现在有jdbc想访问数据库的一些操作,涉及到三个类。有如下的代码:
UserDao.java

public interface UserDao {
public void addUser(User user);
public User getUser(int userid);
public User findUser(String loninname, String password);
public void updateUser(User user);
public void deleteUser(User user);
}

UserDaoImpl.java/*把上面的方法具体实施了一下,代码略*/

DaoFactory.java
public class DaoFactory {
private static UserDao userdao = null;
private static DaoFactory instance = new DaoFactory();

private DaoFactory(){
try {
Properties prop = new Properties();
//InputStream instream = new FileInputStream(new File("src/daoconfig.properties"));
InputStream instream = DaoFactory.class.getClassLoader().getResourceAsStream("daoconfig.properties");
prop.load(instream);
String userdaoclass = prop.getProperty("userDaoClass");
Class clazz = Class.forName(userdaoclass);
userdao = (UserDao) clazz.newInstance();//生产UserDaoImpl类
} catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}

public static DaoFactory getInstance() {
return instance;
}

public UserDao getUserDao() {
return userdao;
}
}






你可能感兴趣的:(java设计模式之工厂模式)