原型模式就是复制一个已有的对象,而客户端不需要知道具体是如何复制的
类图
示例
java中已经有现成的clone接口
@Data
public class Thing implements Cloneable {
private String field1;
private Integer field2;
@Override
public Thing clone() {
// 此处实现复杂的克隆过程
Thing thing = new Thing();
thing.setField1(this.field1);
thing.setField2(this.field12);
return thing;
}
}
使用:
Thing thing = new Thing();
thing.setField1(this.field1);
thing.setField2(this.field12);
// 复制一个
Thing thing2 = thing.clone();