设计模式之禅学习笔记--原型模式
来源:互联网 发布:淘宝客要怎么推广 编辑:程序博客网 时间:2024/06/15 02:59
一、定义
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
二、通用类图
原型模式的核心是clone方法,通过 调用该方法进行对象的克隆/拷贝。在Java中提供了一个Cloneable接口来标示这个对象是可以拷贝的。Cloneable接口中没有一个方法,只起到标示作用,只需要重写Object类中的clone()方法即可拷贝该对象。
三、通用代码
public class Prototype implements Cloneable {@Overrideprotected Object clone() throws CloneNotSupportedException {Prototype prototype = (Prototype) super.clone();return prototype;}}这样就完成了原型模式。
四、原型模式的优点
1:性能优良
2:逃避构造函数的约束(在调用clone()方法时是直接在内存中拷贝,不经过构造器)
五、注意点
1:使用原型模式时,引用类型的成员变量必须满足两个条件才不会被拷贝:一是类的成员变量,而不是方法内变量(static);二是必须是一个可变的应用对象,而不是一个原始类型或不可变类型。(基本类型及原始类型都会被拷贝,String是不可变的)
0 0
- 设计模式之禅学习笔记--原型模式
- 设计模式之禅学习笔记--中介者模式
- 设计模式之禅学习笔记--命令模式
- 设计模式之禅学习笔记--责任链模式
- 设计模式之禅学习笔记--装饰者模式
- 设计模式之禅学习笔记--策略模式
- 设计模式之禅学习笔记--适配器模式
- 设计模式之禅学习笔记--迭代器模式
- 设计模式之禅学习笔记--组合模式
- 设计模式之禅学习笔记--观察者模式
- 设计模式学习笔记之原型模式
- 设计模式学习笔记之原型模式
- java设计模式笔记之原型模式
- Java设计模式笔记之原型模式
- 设计模式之禅笔记-原型模式
- 设计模式笔记-原型模式
- 设计模式笔记--原型模式
- 设计模式笔记:原型模式
- 3764树上的异或值(自己研究的静态字典树)
- JS获取表单所有元素(键值对方式)
- less参考手册
- sql server execution plan - 执行计划的诡异 ( 二 )
- java时间转化函数
- 设计模式之禅学习笔记--原型模式
- Oracle使用order by排序关于null值处理
- c语言 函数 用指针传递参数 问题
- 高版本android 开机广播boot_completed
- struts配置文件修改路径报错
- Eclipse中直接执行sql语句(图文说明)
- Tomcat建立虚拟主机最佳实践
- 为什么java里面经常作判断的时候,既要判断list不为null,又要判断size>0呢,岂不是多此一举吗?
- 《现代礼仪》总结三