23种设计模型初学(单例模型)

什么是单例模型?

单例模型:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

大概意思就是:在你调用一个类的时候,避免你多次的重复调用。(虽然调用的时间很短)

方法实现:(单线程)

public class Singleton  //创建一个类

{

            public Singleton()//所需要实例化的类的方法

            {

                int number = 0;


                    for (int i = 0; i < 100000000; i++)

                    {

                        number += i;

                     }

                    Console.WriteLine("初始化");

                    Console.WriteLine("number:{0}", number);

                }

            }

            public int id { get; set; }

            public void Write()

            {

                Console.WriteLine("单例模型!!!!");

            }

        }

方法实现:

static void Main(string[] args)

        {

            for (int i = 0; i < 10; i++)

            {

                Singleton singleton = new Singleton();

                singleton.Write();

           }

            Console.ReadKey();

        }

主要实现方法:

1.先循环10次实例化方法。在实例化方法中,for循环100000000次,然而你每次都去调用这个实例化,调用一次就会循环100000000次。怎么才能实现循环10次实例化方法就调用一次呢?很简单,加一个if判断就可以了。

public class Singleton

        {

            private static bool a = false;

            public Singleton()

            {

                int number = 0;

                if (a == false)

                {

                    a = true;

                    for (int i = 0; i < 100000000; i++)

                    {

                        number += i;

                    }

                    Console.WriteLine("初始化");

                    Console.WriteLine("number:{0}", number);

                }

                else

                {

                    Console.WriteLine("滴 滴滴!!");

                }

            }

            public int id { get; set; }

            public void Write()

            {

                Console.WriteLine("单例模型!!!!");

            }

        }

我在代码中加了一个if判断,判断a是不是true或false。a必须是静态的哦。

这样就实现了单例模型(单线程)。

新手,有不足之处敬请谅解。

你可能感兴趣的:(23种设计模型初学(单例模型))