【设计模式】创建型模式-原型模式
2013-08-08 09:23
267 查看
[b]概述[/b]
[b]适用性[/b]
[/code]
[/code]
[/code]
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
[b]适用性[/b]
1.当一个系统应该独立于它的产品创建、构成和表示时。 2.当要实例化的类是在运行时刻指定时,例如,通过动态装载。 3.为了避免创建一个与产品类层次平行的工厂类层次时。 4.当一个类的实例只能有几个不同状态组合中的一种时。 建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。
例子:
package com.tan.code; public class Prototype implements Cloneable { private String name; public void setName(String name) { this.name = name; } public String getName() { return this.name; } public Object clone() { try { return super.clone(); } catch (Exception e) { e.printStackTrace(); return null; } } }
[/code]
package com.tan.code; public class ConcretePrototype extends Prototype { public ConcretePrototype(String name) { setName(name); } }
[/code]
测试
package com.tan.code; import static org.junit.Assert.*; import org.junit.Test; public class Text { @Test public void test() { // fail("Not yet implemented"); // Singleton sing = Singleton.getInstance(); // Singleton sing2 = Singleton.getInstance(); // // System.out.println(sing); // System.out.println(sing2); Prototype pro = new ConcretePrototype("prototype"); Prototype pro2 = (Prototype) pro.clone(); System.out.println(pro+":"+pro.getName()); System.out.println(pro2+":"+pro2.getName()); } }
[/code]
测试结果:
相关文章推荐
- 设计模式——创建型设计模式总结(简单工厂、普通工厂、抽象工厂、建造者、原型和单例)
- 设计模式:创建型模式:原型模式(prototype pattern)
- 二十三种设计模式之创建型模式之原型模式
- 设计模式(四)原型模式Prototype(创建型)
- 设计模式6——创建型模式之原型模式
- 设计模式理解(二)创建型——单例、原型
- Java常用的设计模式05:常用设计模式之原型模式(创建型模式)
- JAVA设计模式(05):创建型-原型模式(Prototype)
- 设计模式4:原型模式【创建型】
- 原型模式——创建型设计模式四
- Java设计模式_创建型_原型模式_复制对象及状态
- 设计模式之创建型模式―― 1.5 原型模式
- Java技术_每天掌握一种设计模式(006)_使用场景及简单实例(创建型:原型模式)
- 设计模式(四)原型模式Prototype(创建型)
- 设计模式学习之--PROTOTYPE(原型)对象创建型模型
- [导入]C#面向对象设计模式纵横谈(6):Prototype 原型模式(创建型模式).zip(9.56 MB)
- JAVA设计模式(05):创建型-原型模式(Prototype)
- Java设计模式之创建型模式--原型模式
- 创建型设计模式---原型模式(Prototype)
- 【转】设计模式——创建型设计模式总结(简单工厂、普通工厂、抽象工厂、建造者、原型和单例)