C# 设计模式

单例模式

1、某个对象只需要一个实例的情况;

2、定义一个静态变量来保存类的实例;

3、定义私有构造函数,使外界不能创建该类实例;

4、定义公有方法提供一个全局访问点;

// 该类不是一个公开类
    // 但是该类的实现应用了单例模式
    internal sealed class SR
    {
        private static SR loader;
        internal SR()
        {
        }
        // 主要是因为该类不是公有,所以这个全部访问点也定义为私有的了
        // 但是思想还是用到了单例模式的思想的
        private static SR GetLoader()
        {
            if (loader == null)
            {
                SR sr = new SR();
                Interlocked.CompareExchange<SR>(ref loader, sr, null);
            }
            return loader;
        }

        // 这个公有方法中调用了GetLoader方法的
        public static object GetObject(string name)
        {
            SR loader = GetLoader();
            if (loader == null)
            {
                return null;
            }
            return loader.resources.GetObject(name, Culture);
        }
    }
View Code

猜你喜欢

转载自www.cnblogs.com/zhlziliaoku/p/9139300.html