using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using WHC.Framework.Commons;
namespace WHC.Framework.ControlUtil
{
/// <summary>
/// 对业务类进行构造的工厂类
/// </summary>
/// <typeparam name="T">业务对象类型</typeparam>
public class BLLFactory<T>
where T :
class
{
private static Hashtable objCache =
new Hashtable();
private static object syncRoot =
new Object();
/// <summary>
/// 创建或者从缓存中获取对应业务类的实例
/// </summary>
public static T Instance
{
get
{
string CacheKey =
typeof(T).FullName;
T bll = (T)objCache[CacheKey];
//从缓存读取
if (bll ==
null)
{
lock (syncRoot)
{
if (bll ==
null)
{
bll = Reflect<T>.Create(
typeof(T).FullName,
typeof(T).Assembly.GetName().Name);
//反射创建,并缓存
objCache.Add(
typeof(T).FullName, bll);
}
}
}
return bll;
}
}
}
}
转载于:https://www.cnblogs.com/Jeely/p/11346553.html
相关资源:petshop3层架构范例,供新手学习,Model DAL IDAL DALFactory BLL