享元和单例模式(六)

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

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

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<MemberLevel, BaseMember> MemberDictionary = new Dictionary<MemberLevel, BaseMember>()
    {
        {MemberLevel.Normal,new NormalUser() },
        {MemberLevel.Silver,new SilverUser() },
        {MemberLevel.Gold,new GoldUser() },
        {MemberLevel.Diamond,new DiamondUser() },
    };
     
}

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

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

网站题目:享元和单例模式(六)
URL地址:https://www.cdcxhl.com/article32/gcipsc.html

成都网站建设公司_创新互联,为您提供网站收录服务器托管外贸建站域名注册定制开发云服务器

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司