Prototype模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,
工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。
Prototype.java
package com.gary.designpattern.prototype;/** * 此模式实现简单,因为Java提供clone方法 * 1.实现java.lang.Cloneable接口 * 2.覆盖clone方法 * java clone详解: * 传送门 http://wenku.baidu.com/view/bf52ad4e767f5acfa1c7cd40.html * * @author gary * */public class Prototype implements Cloneable{private String someData;public void setSomeData(String someData) {this.someData = someData;}public String getSomeData() {return someData;}public void printData(){System.out.println(someData);}@Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();}}
?
Test.java
package com.gary.designpattern.prototype;/** * 测试 * @author gary * */public class Test {public static void main(String[] args) {Prototype prototypeA = new Prototype();prototypeA.setSomeData("hello world!");try {Prototype prototypeB = (Prototype) prototypeA.clone();prototypeB.printData();Prototype prototypeC = (Prototype) prototypeA.clone();prototypeC.printData();} catch (CloneNotSupportedException e) {System.out.println("Prototype is not Cloneable");}}}
?