单例模式的三种写法和优缺点

Posted 多读书之NET开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式的三种写法和优缺点相关的知识,希望对你有一定的参考价值。

应用场景:程序中只需要一个存在一个对象的情况。例如线程池,数据库连接等
这三种单例的写法,其实效果都一样,只是后面两种是由系统CLR帮我们调用创建实例类。
单例的优点是:保证整个进程中该对象只被实例化一次,减少性能消耗
缺点是:常驻内存,不会被GC回收(普通类型需要的时候就初始化,用完被GC自动回收),而且过多使用单例,而单例类本身带有公有变量,就会很容易造成严重的问题

第一种写法(推荐):

       第一层if 是为了效率.


第二种:系统自带

第三种 :在第二种的基础上进一步简化


以上是关于单例模式的三种写法和优缺点的主要内容,如果未能解决你的问题,请参考以下文章

单例模式的三种实现 以及各自的优缺点

C#单例模式的三种写法

单例模式的三种写法

设计模式:单例模式的三种创建方式及其各自的优缺点

使用单例时的三种单例写法

设计模式之单例模式