개인적으로 가장 많이 사용한 패턴.
DB에 대한 connection 문제 해결이라던지, 하나의 리소스를 사용하는 방법으로 주로 사용한다.
특히 윈도우에서는 Registery의 참조부분을 행할때 주로 사용하게 된다.
.NET에서 keyword인 volatile를 사용한 것을 주목할것.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SingletonPattern
{
public class SingletonData
{
private static volatile SingletonData singletonInstance;
public static SingletonData GetInstance()
{
if ( singletonInstance == null )
{
singletonInstance = new SingletonData();
}
return singletonInstance;
}
private SingletonData()
{
}
}
}