Singleton Mode(单例模式)

(一)单例模式定义

指定类只有一个实例,该类只能自行创建这个实例的一种模式(例如:人类之中的女人,女人可以生孩子)

(二)单例模式特点

  1. 单例类只有一个实例
  2. 单例对象必须由单例类自己创建
  3. 单例类对外提供一个访问单例的全局访问点。

(三)单例模式结构

  1. 单例类:一个实例只能自行创建这个类的实例类
  2. 访问类:使用单例类

(四)单例模式实现

单例模式实现共有两种,一种是懒汉模式,另一种是饿汉模式。

如果想深入了解的话,可以访问:http://c.biancheng.net/view/1338.html

如果对于懒汉模式和饿汉模式的应用不是很了解,可以参考一下这一篇文章:https://www.ppkanshu.com/index.php/post/3299.html

 上面网址用的是Java,而如下则用C#编写,大致的意识和代码基本上都是一样的。

1.懒汉模式单例实现

 /// <summary>
        /// 懒汉模式
        /// </summary>
        public class SingleTest
        {
            /// <summary>
            /// 定义一个私有变量来存放单例
            /// </summary>
            private static SingleTest instance;

            public SingleTest()
            {

            }

            /// <summary>
            /// 定义一个公共的公开方法返回该类的实例
            /// </summary>
            /// <returns></returns>
            public static SingleTest GetSingleTest()
            {
                //第一次访问创建实例
                if (instance == null)
                {
                    instance = new SingleTest();
                }

                return instance;
            }
        }

2.饿汉模式单例实现

/// <summary>
        /// 饿汉模式单例
        /// </summary>
        public class SingleTest
        {
            private static SingleTest Instance = new SingleTest();
            private SingleTest()
            {
                
            }

            public static SingleTest GetSingleTest()
            {
                return Instance;
            }
        }

文章有长有短,有优有缺,望君自作定夺,取长补短,总结经验!

发布了122 篇原创文章 · 获赞 36 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qqj3066574300/article/details/103889832
今日推荐