标签:style blog color java io ar div new
原型模式 概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 适用性 1.当一个系统应该独立于它的产品创建、构成和表示时。 2.当要实例化的类是在运行时刻指定时,例如,通过动态装载。 3.为了避免创建一个与产品类层次平行的工厂类层次时。 4.当一个类的实例只能有几个不同状态组合中的一种时。 建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。 参与者 1. Prototype 声明一个克隆自身的接口。 2. ConcretePrototype 实现一个克隆自身的操作。 3. Client 让一个原型克隆自身从而创建一个新的对象。
1 /** 2 * 声明一个克隆自身的接口 3 * @author 4 * 5 */ 6 public class Prototype implements Cloneable { 7 8 private String name; 9 10 public void setName(String name) { 11 this.name = name; 12 } 13 14 public String getName() { 15 return this.name; 16 } 17 18 public Object clone(){ 19 try { 20 return super.clone(); 21 } catch (Exception e) { 22 e.printStackTrace(); 23 return null; 24 } 25 } 26 }
1 /** 2 * 实现一个克隆自身的操作 3 * @author 4 * 5 */ 6 public class ConcretePrototype extends Prototype { 7 8 public ConcretePrototype(String name) { 9 setName(name); 10 } 11 }
1 public class Test { 2 3 public static void main(String[] args) { 4 Prototype pro = new ConcretePrototype("prototype"); 5 Prototype pro2 = (Prototype)pro.clone(); 6 System.out.println(pro.getName()); 7 System.out.println(pro2.getName()); 8 } 9 }
看了一下大神写的,今天理解还是有点模糊,感觉就是克隆,方便建造实例。
每天进步,每天学习...
java设计模式--创建模式--原型模式,布布扣,bubuko.com
标签:style blog color java io ar div new
原文地址:http://www.cnblogs.com/huzi007/p/3884994.html