流沙团
解耦合 _ 工厂模式的实现和使用
2016-7-26 流沙团


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

}

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容