factory.java文件实现
package com.itheim.customers.dao.factory; import java.util.ResourceBundle; import com.itheim.customers.dao.CustomerDao; /* * 这是 用于创建 dao的工厂 类 , * * 工厂类 很多时候 会被 弄成单例的 * * */ public class DaoFactory { private DaoFactory(){}; //创建一个 工厂 的实例 private static DaoFactory instance = new DaoFactory(); public static DaoFactory getInstance(){ return instance; } // 用于 返回 传进来的 类的一个实例 对象出去 // CustomerDao.class public <T> T createDao(Class<T> t){ // Teacher.class ----- Teacher // CustomerDao.class ---CustomerDao String simpleName = t.getSimpleName(); //读取一个配置文件 : CustomerDao=com.itheim.customers.dao.impl.CustomerDaoImpl // com.itheim.customers.dao.impl.CustomerDaoImpl String clazzName = ResourceBundle.getBundle("dao").getString(simpleName); try { return (T)Class.forName(clazzName).newInstance(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } }
0则评论给“解耦合 _ 工厂模式的实现和使用”