Software Development/DesignPatterns

6. Singleton Pattern(싱글턴 패턴)

huiyu 2014. 7. 20. 10:26

Singleton Design Pattern

(싱글턴 패턴)


Define

 싱글턴 패턴은 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴.


Structure

Scheme of Singleton>

-  클래스에서 자신의 단 하나뿐인 인스턴스를 관리하도록 만든다. 그리고 다른 어떤 클래스에서도 자신의 인스턴스를 추가로 만들지 못하도록 한다. 인스턴스가 필요하면 반드시 클래스 자신을 거치도록 한다.

- 또한 어디스든 이 인스턴스에 접근할 수 있도록 만든다. 
- getInstance()메소드는 정적 메소드로 어디서든 호출 가능,
- 생성자를 private로 선언하여 외부에 노출이 되지 않도록 한다.

Advantage

 - 시스템 상 전역으로 관리되고 단하나의 클래스에서만 정보가 유지되는 것을 원할 때 사용

- 보통 시스템 자원관리나 정보를 관리

Code-Java

public class Singleton {
	private static Singleton uniqueInstance;
	
	private Singleton(){}
	
	public static Singleton getInstance(){
		if(uniqueInstance == null){
			uniqueInstance = new Singleton();
		}
		return uniqueInstance;
	}
	
}


728x90