2011년 8월 10일 수요일

Java - Singleton (Design Pattern)

어떤 시스템에 단 한개의 인스턴스만 존재하는경우 사용

음.... 어떤 시스템의 테마나 설정값 같은경우 서로다른 화면마다 공통된 값을 적용해야 한다.

이럴때 사용하면 좋은게 싱글톤(Singleton) 패턴 이다.

기본적인 구조는...


public class Theme{
   private static Theme theme = new Theme();

   public static Theme getInstance(){
      return theme;
   }
}

이렇게 설정 클래스 정의하고 아래와 같이 사용하면 된다.

public class Main{
   public static void main(String[] args){
      Theme t1 = Theme.getInstance();
      Theme t2 = Theme.getInstance();
   }
}

위에서의 t1, t2는 서로 동일한 객체 이다.

이와같이 Singleton을 사용하여 동일한 객체를 아무데서나 사용 할 수 있다.

불필요한 작업없이 공통적으로 사용될 설정값, 데이터set 등을 싱글톤으로 정의하고 사용하면 편할듯 하다...