이미 존재하는 코드를 다른 용도로 사용할 수 있도록 변환해 주는 패턴
구체적인 처리를 하위 클래스에게 위임
하위 클래스에서 TemplateMethod를 이용해 인스턴스 생성
클래스 다이어그램
인스턴스를 단 하나만 만든다.
prototype 패턴은 인스턴스를 new를 사용하지 않고 복사해서(생성해) 사용할 때 쓰는 패턴입니다.
Builder 패턴은 인스턴스들을 조립하는 역활을 하는 패턴입니다.Builder 클래스는 인스턴스를 생성하기 위한 메서드를 선언합니다.Director는 Builder의 매서드를 사용하여 인스턴스를 생성합니다.ConcreateBuilder는 Builder의 메서드를 구현
이 패턴은 사용중인 알고리즘을 교채할때 코드 수정없이 교체할 수 있다는 장점이 있다.Context에서 Strategy에게 위임하고 있으므로 Context 수정 없이 Strategy를 바꿀 수 있다.
그릇과 내용물을 동일시한다.