Prototype 패턴의 Prototype은 원형이라는 의미로, 원형이 되는 인스턴스로 새로운 인스턴스를 만드는 방식입니다. 즉, 객체에 의해 생성될 객체의 타입을 결정하는 패턴입니다.
구조
- Prototype
- 새로운 인스턴스를 만들기 위한 메서드를 결정하는 인터페이스입니다.
- ConcretePrototype
- 인스턴스를 복사하여 새로운 인스턴스를 만드는 메서드를 실제로 구현합니다.
- Client
- 인스턴스 복사 메서드를 사용해서 새로운 인스턴스를 생성합니다.
활용 상황
- 런타임에 새로운 클래스를 추가하고 삭제할때 유용합니다.
- 동적으로 클래스에 따라 응용프로그램을 설정해야 할때 유용합니다.
Prototype 패턴의 장단점
- 장점
- 객체를 생성해주기 위한 별도의 객체 생성 클래스가 필요하지 않습니다.
- 객체의 각 부분을 조합해서 생성되는 형태에도 적용이 가능합니다.
- 단점
- 생성될 객체들의 자료형인 클래스들이 모두 clone() 메서드를 구현해야 합니다.
'디자인 패턴 > 생성 패턴' 카테고리의 다른 글
Singleton 패턴 (0) | 2021.09.25 |
---|---|
Abstract Factory 패턴 (0) | 2021.09.23 |
Factory 패턴 (0) | 2021.09.18 |
Builder 패턴 (0) | 2021.09.14 |