定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.
原理: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;
}
}
创建原型
public class SoupSpoon extends AbstractSpoon{
public SoupSpoon(){
setSpoonName("Soup Spoon");
}
}
public class SaladSpoon extends AbstractSpoon{
public SaladSpoon(){
setSpoonName("Salad Spoon");
}
}
调用原型模式是AbstractSpoon spoon = new SoupSpoon();
AbstractSpoon spoon = new SaladSpoon();
可以结合工厂模式创建原型