디자인 패턴/생성 패턴

Prototype 패턴

언린이 2021. 9. 28. 09:19

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