Singleton 패턴
클래스의 인스턴스는 오직 하나임을 보장하며 이 인스턴스에 접근할 수 있는 방법을 제공.
Intent
클래스에서 만들 수 있는 인스턴스가 오직 하나(혹은 원하는 만큼만)일 경우 이에 대한 접근을 어디에서든지 하나로만 통일하여 제공한다.
Motivation
예시) DBConnectionPool
전역변수보다는 static을 사용해서 만드는 방법을 추천한다.
※ 생성자는 private로 선언한다.
장점 : 유일하게 존재하는 인스턴스로의 접근을 통제할 수 있다.
Operation 개선이 가능하다. Singleton클래스는 상속 가능.
인스턴스 개수를 통제할 수 있다.
단점
생성자를 언제 호출하는 지 프로그래머가 신경써야 한다.
prototype 패턴
복사해서 인스턴스를 만든다.
※ 생성되는 과정이 복잡할 때 사용한다.
Intent
견본 인스턴스를 사용하며 그걸 복제하여 새로운 객체를 생성한다.
Motivation
상속에 의한 서브클래싱
...
적용범위
제품의 생성, 합성, 표현 방법에 독립적인 제품을 만들때.
관련 패턴
Abstract Factory : prototype과는 경쟁적인 관계.
Flyweight : 작은 요소들을 재활용. 같은 인스턴스를 재활용
memento : 인스턴스에 대한 snapshot, undo기능.
'컴퓨터 공부 > 디자인 패턴' 카테고리의 다른 글
[7월 13일 2,3교시] Builder 패턴 2 + Abstract Factory 패턴 (0) | 2009.07.13 |
---|---|
[7월 13일 1교시] Builder 패턴 1 (0) | 2009.07.13 |
[7월 7일 2교시] Templete Method 패턴 (0) | 2009.07.07 |
[7월 7일 1교시] Adapter 패턴, Template Method (0) | 2009.07.07 |
[7월 6일 3교시] Iterator 패턴, (0) | 2009.07.06 |