. NET Design Pattern Singleton pattern (1). net Design Pattern
1. Simple Explanation: During object creation, no matter how many times it is created, the heap space will apply for only one memory space.
2. Example (1 ):
Public class Singleton {private static Singleton _ singleton = null; // lock private static Object singleton_lock = new Object (); // privatize the constructor private Singleton () {// initialization code} public static Singleton CreateInstance () {if (_ singleton = null) // first check whether the initialization has been performed, avoid judge lock {lock (_ singleton_lock) every time you enter {// prevent multiple threads from entering if (_ singleton = null) {// determine whether the singleton object is null _ Singleton = new singleton () ;}} return _ singleton ;}}
Example (2 ):
Public class Singleton {private static Singleton _ singleton = null; // constructor private Singleton () {// initialization code} // static constructor static Singleton () {_ singleton = new Singleton ();} public static Singleton CreateInstance () {return _ singleton ;}}
Example (3 ):
Public class Singleton {private static Singleton _ singleton = new Singleton (); // constructor privatize private Singleton () {// initialization code} public static Singleton CreateInstance () {return _ singleton ;}}