zoukankan      html  css  js  c++  java
  • 单例模式

    创建型模式:主要聚焦于对象是如何创建的。

    单例模式,在任何情况下,只允许有一个对象的实例。

    1.       单线程下的单例模式:

    public class SingletonTest

        {

            private static SingletonTest instance;

            private SingletonTest() { }

            public static SingletonTest Instance

            {

                get

                {

                    if (instance == null)

                    {

                        instance = new SingletonTest();

                    }

                    return instance;

                }

            }

    }

    2.       多线程情况下的单例模式:

    public class SingleTestThread

        {

            private static volatile SingleTestThread instance;

            private static object lockHelper = new object();

            private SingleTestThread() { }

            public static SingleTestThread Instance

            {

                get

                {

                    if (instance == null)

                    {

                        lock (lockHelper)

                        {

                            if (instance == null)

                            {

                                instance = new SingleTestThread();

                            }

                        }

                    }

                    return instance;

                }

            }

        }

    3.任何情况下都可以用,但是没办法传参:

    public class SingleSimple

        {

            private SingleSimple() { }

            public static readonly SingleSimple Instance = new SingleSimple();

        }

  • 相关阅读:
    GitHub 教程【转】
    Github 教程
    Excel 多个单元格输入同样内容
    寻找问题远比解决问题重要!
    蒲公英: 一个提供App 存储、分发、Bug管理的网站
    Dacapao 实验集(9.12 版本) 能不能给个网址?【内存分析实验】
    软件测试思维导图[ZZ]
    程序员、技术领导、管理者各有烦恼,你占了几条?ZZ
    r test
    mooctest项目总结 【转载】
  • 原文地址:https://www.cnblogs.com/hometown/p/3204225.html
Copyright © 2011-2022 走看看