프로토 타입 패턴 정의 : 프로토 타입 인스턴스를 사용하여 생성 할 객체 유형을 지정하고 이러한 프로토 타입을 복사하여 새 개체를 만듭니다.
프로토 타입 모드를 사용하면 객체가 생성하는 방법에 대한 세부 사항을 알지 못하고 다른 사용자 정의 가능한 객체를 생성 할 수 있습니다. . 물체 복사하여 직접 만들어냅니다.
프로토 타입 모드를 사용하는 방법
Java는 객체 클로닝을 구현하기위한 clone () 메소드를 제공하기 때문에 프로토 타입 모드의 구현이 갑자기 매우 간단 해집니다. 숟가락을 예로 들어 보겠습니다.
코드 사본은 다음과 같습니다.
공개 추상 수업 초록 스푼은 복제 가능한 {
문자열 SpoonName;
public void setspoonName (String SpoonName) {this.spoonName = SpoonName;}
public String getSpoonName () {return this.spoonName;}
공개 대상 클론 () {
객체 객체 = null;
노력하다 {
Object = Super.Clone ();
} catch (clonenotsupportedException Exception) {
System.err.println ( "AbstractSpoon은 복제 할 수 없음");
}
리턴 객체;
}
}
두 가지 구체적인 구현 (ConcretePrototype)이 있습니다.
코드 사본은 다음과 같습니다.
공개 클래스 수프 스푼은 AbstractSpoon을 확장합니다.
public soupspoon () {
setspoonName ( "수프 스푼");
}
}
공개 클래스 Saladspoon 확장 Abstractspoon {
퍼블릭 샐러드 스푼 () {
SetSpoonName ( "Salad Spoon");
}
}
프로토 타입 모드 호출은 간단합니다.
코드 사본은 다음과 같습니다.
AbstractSpoon Spoon = New SoupSpoon ();
AbstractSpoon Spoon = New Saladspoon ();
물론 공장 모드를 결합하여 AbstractSpoon 인스턴스를 만들 수도 있습니다.
Java에서, 프로토 타입 패턴의 사용은 Java의 순수한 객체 지향적 특성으로 인해 Clone () 방법이되며, 이는 Java에서 설계 패턴을 사용하는 것이 매우 자연스럽고 거의 통합됩니다. 이것은 Interator Traversal 모드와 같은 많은 모드에 반영됩니다.