一、什么是单例模式?
定义:单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点
二、单例模式UML图
三、单例模式C#版
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DP
{
class Singleton
{
private static Singleton instance;
private Singleton()
{
}
public static Singleton getInstance()
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
四、单例模式JAVA版
public class Singleton {
private static Singleton instance;
private Singleton() {
}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
五、扩展
上面的实现其实都是属于懒汉式的实现,即引用时才进行初始化;下面介绍一下饿汉式的实现,即调用时即进行初始化
JAVA版实现
public class ESingleton {
private static final ESingleton instance = new ESingleton();
private ESingleton() {
}
public static ESingleton getInstance() {
return instance;
}
}
C#版实现
class ESingleton
{
private static readonly ESingleton instance = new ESingleton();
private ESingleton()
{
}
public static ESingleton getInstance()
{
return instance;
}
}