大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

享元和单例模式(六)

单例模式:整个项目只存在一个对象实例.

在盱眙等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、做网站 网站设计制作按需制作,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站建设,成都外贸网站制作,盱眙网站建设费用合理。

public class Single
    {
        private static Single _single = null;
        private static object lockObject = new object();
        private Single()
        {
           
        }
        public static Single CreateInstance()
        {
            if (_single == null)
            {
                lock (lockObject)
                {
                    if (_single == null)
                    {
                        _single = new Single();
                    }
                }
            }
            return _single;
        }
    }

如果是多线程则需要用到Lock和外层多加一层If

享元模式:可以是整个项目共用一个对象实例,也可以按需要创造不同的实例.

public static class MemberLevelConfig
{
    public static Dictionary MemberDictionary = new Dictionary()
    {
        {MemberLevel.Normal,new NormalUser() },
        {MemberLevel.Silver,new SilverUser() },
        {MemberLevel.Gold,new GoldUser() },
        {MemberLevel.Diamond,new DiamondUser() },
    };
     
}

策略模式和简单工厂中(二)中的MemberLevelConfig也算是一个简单的享元模式的应用.

Normal可以实例化新的对象,也可以项目共享MemberLevelConfig中的对象


新闻标题:享元和单例模式(六)
文章路径:http://dzwzjz.com/article/gcipsc.html
在线咨询
服务热线
服务热线:028-86922220
TOP