Welcome

首页 / 软件开发 / 数据结构与算法 / 传统设计模式(五)单例模式

传统设计模式(五)单例模式2016-02-09这个...... 大家应该熟的不能再熟了 虫子就不班门弄斧了

private static object LockKey = new object();private static T _Instance;public static T GetInstance(){return GetInstance(null);}public static T GetInstance(Func<T> onCreateInstance){if (_Instance == null){lock (LockKey){if (_Instance == null){try{if (onCreateInstance == null)_Instance = new T();else_Instance = onCreateInstance();}catch{_Instance = default(T);}}}}return _Instance;}public static T GetInstance(object lockKey, T instance, Func<T> onCreateInstance){if (instance == null){if (lockKey == null)lockKey = LockKey;lock (lockKey){if (instance == null){try{if (onCreateInstance == null)instance = new T();elseinstance = onCreateInstance();}catch{instance = default(T);}}}}return instance;}
直接总结:单例模式确保一个类只有一个实例,并提供一个全局访问点

Author:cnblogs 熬夜的虫子