(Design Pattern) Singleton.

Role:

The purpose of the Singleton pattern is to ensure that there is only one instance of a class, and that there is a global access point to that object.

Design:

  • Make the constructor private and add a private static constructor as well.
  • Add a private static read-only object that is internally instantialed using the private constructor.
  • Add a public static property that accesses the private object.

Implementation:

    public sealed class Singleton
    {
        // Private constructor.
        private Singleton()
        {
            Console.WriteLine("One instance is created."); 
        }

        // private object instantiated with private constructor.
        private static readonly Singleton instance = new Singleton(); 

        // Public static property to get the object.
        public static Singleton UniqueInstance
        {
            get
            {
                return instance; 
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Singleton s0 = Singleton.UniqueInstance;
            Singleton s1 = Singleton.UniqueInstance;
            Singleton s2 = Singleton.UniqueInstance; 
        }
    }
原文地址:https://www.cnblogs.com/fdyang/p/4900789.html