2016년 9월 19일 월요일

40day / WEB / Singleton Design Pattern

http://www.noesispoint.com

  • Singleton Design Pattern

시스템 상에서 단 한번 객체를 생성하고 공유해서 사용하고자 할 때 적용하는 패턴
외부에서 객체 생성을 할 수 없도록 차단한다
불필요한 객체 생성을 막아서 시스템 자원을 절약한다
하나의 인스턴스만생성하도록 구현할 수 있다

  • 적용방법
static
변수에 한번 생성한 객체의 주소값을 할당한다

public static
메서드로 외부에 한번 생성한 자신의 객체 주소값을 공유한다

private 생성자(Constructor)
를 정의해 외부에서 객체 생성할 수 없도록 차단한다


ex)
class Singleton {
    * static 은 method area 에 한번 초기화 된다 
    private static Singleton instance = new Singleton();
    * private 으로 명시해 외부에서 생성못하도록 막는다
    private Singleton(){     }
    * 외부에서는 객체 생성을 못하되 한번 생성한 객체의 
      주소값을 반환받을 수 있다
    * static method로 현 객체 주소값 공유
    public static Company getInstance(){
        if( instance == null ) {
            instance = new Singleton();
        }
        return instance;
    }
}
cs

0 개의 댓글:

댓글 쓰기