浅谈JAVA设计模式之——原型模式(Prototype)
2015-05-02 22:00
686 查看
转载请注明出处:/article/8380669.html
2.当要实例化的类是在运行时刻指定时,例如,通过动态装载。
3.为了避免创建一个与产品类层次平行的工厂类层次时。
4.当一个类的实例只能有几个不同状态组合中的一种时。
建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。
2. ConcretePrototype 实现一个克隆自身的操作。
3. Client 让一个原型克隆自身从而创建一个新的对象。
ConcretePrototype
Client
result
一、概述
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。二、适用性
1.当一个系统应该独立于它的产品创建、构成和表示时。2.当要实例化的类是在运行时刻指定时,例如,通过动态装载。
3.为了避免创建一个与产品类层次平行的工厂类层次时。
4.当一个类的实例只能有几个不同状态组合中的一种时。
建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。
三、参与者
1. Prototype 声明一个克隆自身的接口。2. ConcretePrototype 实现一个克隆自身的操作。
3. Client 让一个原型克隆自身从而创建一个新的对象。
四、示例
Prototypepackage com.lyz.design.prototype; /** * 原型类,实现Cloneable接口 * @author liuyazhuang * */ 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; } } }
ConcretePrototype
package com.lyz.design.prototype; /** * 原型类的子类,用于构建原型 * @author liuyazhuang * */ public class ConcretePrototype extends Prototype { public ConcretePrototype(String name) { setName(name); } }
Client
package com.lyz.design.prototype; /** * 测试类 * @author liuyazhuang * */ public class Test { public static void main(String[] args) { Prototype pro = new ConcretePrototype("prototype"); Prototype pro2 = (Prototype)pro.clone(); System.out.println(pro.getName()); System.out.println(pro2.getName()); } }
result
prototype prototype
相关文章推荐
- 浅谈Java设计模式(五)原型模式(Prototype)
- java设计模式5--原型模式(Prototype)
- Java 设计模式——原型模式(Prototype)
- 浅谈java 设计模式——原型模式
- JAVA设计模式五--Prototype(原型模式)
- Java设计模式之从[魔兽世界副本]分析原型(Prototype)模式
- JAVA设计模式(5)-原型模式 Prototype
- 设计模式学习笔记---原型模式prototype(Java版)
- java设计模式---prototype(原型)模式
- Java设计模式-原型模式(Prototype)
- JAVA设计模式(5) —<创建型>原型模式(Prototype)
- JAVA设计模式(05):创建型-原型模式(Prototype)
- Java设计模式——创建型模式——原型模式(Prototype Pattern)
- java设计模式5——原型模式(Prototype)
- 【创建型模式】原型模式(Prototype)之23种java设计模式
- 设计模式(五)----- 原型模式(Prototype)----(JAVA版)
- Java经典设计模式-创建型模式-原型模式(Prototype)
- JAVA设计模式 — 原型模式(Prototype)
- 设计模式(五)----- 原型模式(Prototype)----(JAVA版)
- java23种设计模式之原型模式(Prototype)