原型模式定义:
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
Prototype 模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。
原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。
一般在初始化的信息不发生变化的情况下,克隆是最好的办法。这既隐藏了对象创建的细节,又对性能是大大的提高。
不用重新初始化对象,而是动态地获得对象运行时的状态。
public abstract class Resume implements Cloneable{
String name;
public void setName(String name){
this.name = name;
}
public String getName() {
return name;
};
public Object clone(){
Object obj = null;
try {
obj = super.clone();
return obj;
} catch (Exception e) {
System.err.println(e);
}
return obj;
}
}
具体实现类
public class ConcreteResume extends Resume {
public ConcreteResume() {
setName("ConcreteResume");
}
}
调用 Prototype 模式很简单:
Resume me = new ConcreteResume();
Resume me2 = me.clone();
原型模式使用户可以通过复制对象样本来创建新对象。与通过调用构造函数创建对象相比,区别在于:通过复制创建的新对象一般会包含原始对象的某些状态。