设计模式读书笔记-单件模式(创建型模式)

让一个类只有一个对象,全局唯一

非多线程模式,实现方法:

方法1:

1     public class SingletonTest

2     {

3         public static readonly SingletonTest Instance = new SingletonTest();

4         private SingletonTest() { }

5     }
View Code

方法2:

1     public class SingletonTest

2     {

3         public static readonly SingletonTest Instance;

4         static SingletonTest()

5         {

6             Instance = new SingletonTest();

7         }

8         private SingletonTest() { }

9     }
View Code

 多线程模式,实现方法:

 1     public class SingletonTest

 2     {

 3         private static volatile SingletonTest instance = null;

 4         private static object lockobj = new object();

 5         private SingletonTest() { }

 6         public static SingletonTest Instance

 7         {

 8             get

 9             {

10                 if (instance == null)

11                 {

12                     lock (lockobj)

13                     {

14                         if (instance == null)

15                         {

16                             instance = new SingletonTest();

17                         }

18                     }

19                 }

20                 return instance;

21             }

22         }

23     }
View Code

 

你可能感兴趣的:(设计模式)