Java 디자인 모드의 원형 모드(Prototype 모드) 소개

Prototype 모드 정의: 원형 실례로 창설 대상의 종류를 지정하고 이 원형을 복사하여 새로운 대상을 만듭니다.
Prototype 모드는 하나의 대상이 다른 맞춤형 대상을 만들 수 있도록 합니다. 어떻게 만드는지 전혀 알 필요가 없습니다. 작업 원리는 하나의 원형 대상을 창설할 대상에게 전달함으로써 창설할 대상은 원형 대상의 복사를 요청함으로써 창설을 실시합니다.
원형 모드를 어떻게 사용합니까
자바에서 clone () 방법을 제공하여 대상의 복제를 실현하기 때문에 Prototype 모드의 실현은 단번에 간단해진다.숟가락을 예로 들면:

public abstract class AbstractSpoon implements Cloneable{
 String spoonName;
 public void setSpoonName(String spoonName) {this.spoonName = spoonName;}
 public String getSpoonName() {return this.spoonName;}
 public Object clone(){
  Object object = null;
  try {
   object = super.clone();
  } catch (CloneNotSupportedException exception) {
   System.err.println("AbstractSpoon is not Cloneable");
  }
   return object;
 }
}
두 가지 구체적인 구현(ConcretePrototype):

public class SoupSpoon extends AbstractSpoon{
 public SoupSpoon(){
  setSpoonName("Soup Spoon");
 }
}
public class SaladSpoon extends AbstractSpoon{
 public SaladSpoon(){
  setSpoonName("Salad Spoon");
 }
}
Prototype 모드 호출은 간단합니다.

AbstractSpoon spoon = new SoupSpoon();
AbstractSpoon spoon = new SaladSpoon();
물론 공장 모델과 결합하여 AbstractSpoon 실례를 만들 수도 있다.
Java에서 Prototype 모드는clone() 방법의 사용으로 바뀌었다. Java의 순결한 대상을 향한 특성 때문에 Java에서 디자인 모드를 사용하는 것은 매우 자연스러워졌다. 둘은 거의 혼연일체가 되었다.이것은 많은 패턴에 반영된다. 예를 들어 Interator 역행 패턴이다.

좋은 웹페이지 즐겨찾기