사용 시점 및 이유
- 인스턴스의 생성과 값 초기화가 복잡할때
- 반복되는 생성과 초기화 코드가 많아질 때
패턴 구현
- clone()을 지원할 클래스는 Prototype인터페이스를 구현한다.
- 구상 클래스에서는 clone() 을 오버라이딩 하며 return new ConcreteProtoType1(this) 와 같이 구현한다.
- 필요한 경우 프로토타입 사용할 구상 인스턴스들을 미리 저장소에 저장해둔 후, 클론하며 사용하는 방식으로도 구현이 가능하다.
- 자바의 경우 이미 Cloneable인터페이스와, Object.clone() 메소드가 존재한다.
'디자인패턴' 카테고리의 다른 글
(구조패턴) 데코레이터 패턴 (0) | 2023.04.28 |
---|---|
(구조패턴) 브릿지패턴 (0) | 2023.04.25 |
(구조패턴) 어댑터패턴 (0) | 2023.04.25 |
(생성패턴) 빌더패턴 (0) | 2023.04.23 |
(생성 패턴)추상 팩토리 패턴 (0) | 2023.04.23 |