解耦合 _ 工厂模式的实现和使用

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;
		}
	}
	
}

原文链接: 解耦合 _ 工厂模式的实现和使用 版权所有,转载时请注明出处,违者必究。
注明出处格式:流沙团 ( https://www.gyarmy.com/post-80.html )

发表评论

0则评论给“解耦合 _ 工厂模式的实现和使用”