设计模式:C#如何实现单例模式

2024-10-12 02:16:06

1、单例模式是保证整个程序中,某个类,只构造一次,比如打印机类,构造一次打印机类比较费时间,构造多个也没有意义,因为操作的都是同一台打印机。下面我们动手实现,如下图,创建控制台应用程序。

设计模式:C#如何实现单例模式

3、那么问题来了,构造器Pirvate,外部不能New,那么这个类怎么使用呢。第二板斧来啦,提供一个Static方法。同学们都知棕百脾酷道Static方法,不需要构建类。直接用类名就可以调用。用该方法返回一个SingleClass类。如下图:

设计模式:C#如何实现单例模式

5、下面我们加一些调试代码,验证SingleClass是不是只被构造了一次。如下图:

设计模式:C#如何实现单例模式

6、运行程序,可以看到构造方法,只被调用了一次。

设计模式:C#如何实现单例模式

7、按照惯例,总结一下。要实现单例模式,需要三板斧。第一:把构造函数私有化。第二:提供Static方法,返回类类型的变量。第三:通过私有的类类型变量,判断是否需要New。

猜你喜欢