单例模式
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); } }