ObjectFactory对象工厂类



import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;

/**
 * 对象工厂类
 * */
public class ObjectFactory {
	public static final String SINGLETON="singleton"; //单例
	public static final String PROTOTYPE="prototype"; //原型
	public static Map<String,Object> map = new Hashtable<String,Object>();
	
	public static synchronized Object createOject(Class clazz,String scope) throws ClassNotFoundException, InstantiationException, IllegalAccessException{
		if(clazz==null) return null;
		Object object  = null;
		String classStr = clazz.toString();
		if(MyStringUtil.strIsNullOrBlank(classStr) || MyStringUtil.strIsNullOrBlank(scope)) return null;
		if(SINGLETON.equals(scope)){
			if(map.containsKey(classStr)){
				return map.get(classStr);
			}else{
				object = createObject(classStr);
				map.put(classStr, object);
			} 
			
		}else if(PROTOTYPE.equals(scope)){
			 object = createObject(classStr);
		}
		return object;
	}
    private static  Object createObject(String clazz) throws InstantiationException, IllegalAccessException, ClassNotFoundException{
	    Object object=Class.forName(clazz.toString()).newInstance();
		return object;
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值