c# 单例模式的实现
记一下学习单例模式的笔记: 单例就是要保证该类仅有一个实例。实现完全封闭的单例其实就要两点要求:。 根据new实例的时机,分为饿汉式和懒汉式:一、 饿汉式单例:静态变量初始化时new 特点:加载时new,一开始全局就存在该唯一实例,每次用到只要获取就行,提前占用系统资源但不存在线程安全问题。有线程安全问题,但可以用双重锁定解决。 实现代码如下: 可以看到这种单例通过继承的方式,既可以new实例也可以获取单例实例。如果要实现上面的完全封闭,也可以完全在Person类中写个私有构造器在Singleton类中实例的获取new T()改为反射调用私有构造器的方式实现,总感觉怪怪的。 下面是主程序调用该单例方法: 输出结果:
下载地址
用户评论