原型模式定义:
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.
Prototype 模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建
的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的
对象通过请求原型对象拷贝它们自己来实施创建。
因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变
得很简单.
以勺子为例:
public abstract class AbstractSpoon impl
{
String spoonName;
public void setSpoonName(String spoon
spoonName;}
public String getSpoonName() {return
public Object clone()
{
Object object = null;
try {
object = super.clone();
} catch (CloneNotSupportedExcepti
System.err.println("AbstractSp
}
return object;
}
}
有个具体实现(ConcretePrototype):
public class SoupSpoon extends AbstractSpoon
{
public SoupSpoon()
{
setSpoonName("Soup Spoon");
}
}
调用 Prototype 模式很简单:
AbstractSpoon spoon = new SoupSpoon();
AbstractSpoon spoon2 = spoon.clone();
当然也可以结合工厂模式来创建 AbstractSpoon 实例。
在 Java 中 Prototype 模式变成 clone()方法的使用,由于 Java 的纯洁的面向对象特
性,使得在 Java 中使用设计模式变得很自然,两者已经几乎是浑然一体了。这反映在很多
模式上,如 Interator 遍历模式。