GoF23种设计模式之创建型模式之原型模式
来源:互联网 发布:国际歌在中国禁止知乎 编辑:程序博客网 时间:2024/05/18 23:56
一、概述
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
二、适用性
1.当一个系统应该独立于它的产品创建、构成和表示的时候。
2.当要实例化的类是在运行时刻指定的时候,例如:通过动态装载。
3.为了避免创建一个与产品类层次平行的工厂类层次的时候。
4.当一个类的实例只能有几个不同状态组合中的一种的时候。
建立相应数目的原型并克隆它们可能要比每次用合适的状态手工实例化该类更方便一些。
三、参与者
1.Prototype:声明一个克隆自身的接口。
2.ConcretePrototype:实现一个克隆自身的操作。
3.Client:让一个原型克隆自身从而创建一个新的对象。
四、类图
五、示例
Prototype
package cn.lynn.prototype;public class Snake implements Cloneable { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public Object clone() { try { return super.clone(); } catch (Exception e) { e.printStackTrace(); return null; } }}ConcretePrototype
package cn.lynn.prototype;public class WhiteSnake extends Snake { public WhiteSnake(String name) { setName(name); }}Client
package cn.lynn.prototype;public class Client { public static void main(String[] args) { Snake snake1 = new WhiteSnake("我是白素贞"); Snake snake2 = (Snake) snake1.clone(); System.out.println(snake1.getName()); System.out.println(snake2.getName()); }}Result
我是白素贞我是白素贞
- GoF23种设计模式之创建型模式之原型模式
- GOF23设计模式之原型模式与创建型模式总结
- GOF23设计模式之原型模式之实现
- GOF23之原型模式Demo
- GoF23种设计模式之创建型模式之工厂方法模式
- GoF23种设计模式之创建型模式之抽象工厂模式
- GoF23种设计模式之创建型模式之建造者模式
- GoF23种设计模式之创建型模式之单态模式
- 设计模式-创建型之原型模式
- JAVA设计模式创建型模式之原型模式
- 设计模式之------创建型模式(五)-----原型模式
- (4)设计模式之原型模式(创建型模式)
- Java设计模式之创建型模式--原型模式
- GOF23种设计模式之Builder Pattern
- (创建模式)设计模式之Prototype(原型)
- GOF23设计模式之 单例模式
- GOF23设计模式之 工厂模式
- GOF23设计模式之 建造者模式
- c++——>变量
- VBox+Netbeans——Linux下的PHP开发环境
- HDU-2047阿牛的EOF牛肉串
- 『MySQL』时间差
- C访问hadoop程序终端显示运行正确,因为连接参数错误,使得通过网页查看就是没有成功原因分析和解决方案
- GoF23种设计模式之创建型模式之原型模式
- c++-->常量
- TabHost 控件有整个工程,0分下载
- 利用Cookie实现自动登录,尽量做到安全
- C和C++混合编程(error C2059: syntax error : 'string')
- git中各个commit节点的查询 回溯 与 合并:git rebase与git reset
- jdk环境变量的配置
- 黑马程序员——设计模式-单例模式&工厂模式
- POJ3304