原型模式(Prototype Pattern) , 一般用于经常变化的复杂产品结构构造,通常每个产品对象都会实现一个clone()方法,原型模式就是通过clone方法来达到构造对象的目的。
相比工厂模式,原型模式具有结构简单的特点,因为工厂模式需要有一个与产品结构相对应的产品工厂结构,而原型模式适合各种复杂的产品结构,只需要每一个产品对象实现clone方法即可。
interface Prototype extends Clonable{
public Object clone();
}
public class ConcretePrototype implements Prototype{
public Object clone(){
return super.clone();
}
}
很明显,这里涉及到浅复制和深复制两种形式,可以根据需要自己实现。