22
2020
11

谈谈你对设计模式的认识?结合你用得最多的一种设计模式说说它的使用。

出现指数:五颗星

主要考点:不用多说,这题考的就是对设计模式的理解。一般为了简单可能会要求你写一个单例模式,注意最好是写一个完整点的,考虑线程安全的那种。然后会让你说说你在项目中什么情况下会用到这种模式

参考答案:

通用写法



 1   public class Singleton

 2     {

 3         // 定义一个静态变量来保存类的实例

 4         private static Singleton uniqueInstance;

 5         // 定义一个标识确保线程同步

 6         private static readonly object locker = new object();

 7         // 定义私有构造函数,使外界不能创建该类实例

 8         private Singleton()

 9         {

10         }

11         /// <summary>

12         /// 定义公有方法提供一个全局访问点,同时你也可以定义公有属性来提供全局访问点

13         /// </summary>

14         /// <returns></returns>

15         public static Singleton GetInstance()

16         {// 双重锁定只需要一句判断就可以了

17             if (uniqueInstance == null)

18             {

19                 lock (locker)

20                 {

21                     // 如果类的实例不存在则创建,否则直接返回

22                     if (uniqueInstance == null)

23                     {

24                         uniqueInstance = new Singleton();

25                     }

26                 }

27             }

28             return uniqueInstance;

29         }

30     }


单例模式确保一个类只有一个实例,并提供一个全局访问点,它的使用场景比如任务管理 器整个系统中应该只有一个把,再比如操作文件的对象,同一时间我们只能有一个对象**作文件吧。最重要的,比如我们项目中用得非常多的功能→日志记录,在 一个线程中,记录日志的对象应该也只能有一个吧。单例模式的目的是为了保证程序的安全性和数据的唯一性。或者你也可以结合你使用的其他设计模式来说明。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。