zoukankan      html  css  js  c++  java
  • 对业务类进行构造的工厂类BLLFactory

    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;
                }
            }
        } 
    }
  • 相关阅读:
    HTML5新媒体元素
    概述
    (一)最小可行化应用
    JSON
    ajax的工作原理
    R语言学习笔记(四)
    R语言学习笔记(一)
    转:禅道的数据库结构
    转:bug的分类和等级
    转:如何定义 Bug 的优先级
  • 原文地址:https://www.cnblogs.com/Jeely/p/11346553.html
Copyright © 2011-2022 走看看