java 的原型模式和clone】的更多相关文章

原型模式是一种创建型设计模式,在java中可以直接调用object.clone(). 原型模式属于对象的创建模式.通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象.这就是选型模式的用意.     而java中 所有的对象都是 object,在object中 就有了clone() 方法,因此大多数时候大家都不怎么关注,它一般可以与工厂模式一起使用.     对于clone来说,java中有深克隆 和浅克隆,原文称为: Shallow Clone&D…
[设计模式]Java设计模式 - 原型模式 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 原创作品,更多关注我CSDN: 一个有梦有戏的人 准备将博客园.CSDN一起记录分享自己的学习心得!!! 分享学习心得,欢迎指正,大家一起学习成长! 目录 [设计模式]Java设计模式 - 原型模式 简介 克隆 ①.古老办法 ②.原型模式 浅拷贝 深拷贝 方式一:通过重写clone()方法 方式二:通过对象序列化 简介 原型模式(Prototype Pattern)是用于创…
原型模式属于对象的创建模式.通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象.这就是选型模式的用意. 原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例.这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而无须再去通过new来创建. 原型模式有两种表现形式:(1)简单形式.(2)登记形式,这两种表现形式…
原型模式(Prototype):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 原型模式结构图 通俗来说:原型模式就是深拷贝和浅拷贝的实现. 浅拷贝 只实现了值拷贝,对于引用对象还是指向原来的对象. 父类实现clone方法,子类没有实现clone方法,其效果是浅拷贝. 父类实现clone方法,子类也实现clone方法,本来我想应该是深拷贝了,没想到也是浅拷贝. package com.prototype; import java.io.Serializable; public…
原型模式,在笔者理解看来就是克隆,当我们在创建第一个对象时,已经给对象赋值完毕,此时我们需要一个当前对象的副本,如果没有原型模式,我们会再次创建一个对象,然后后二次赋值,保证两个对象完全一致, 这样我们的代码可读性就比较差,而且稍不留神copy错了麻烦就大了了,此时我们如果了解原型模式,就能够美化我们的代码,看起来够整洁,而且也不会出错. 大话设计模式-类图-浅复制 所谓的浅复制,就是对象中不包含引用类型,学习JAVA的小伙伴都知值引用和地址引用的区别吧,这里不再多说,如果还不了解的小伙伴可以自…
"不好意思,我是卧底!哇哈哈哈~"额......自从写了上一篇的观察者模式,就一直沉浸在这个角色当中,无法自拨.昨晚在看<使徒行者2>,有一集说到啊炮仗哥印钞票,我去,这就是想印多少就印多少的节奏. 但是我觉得他们印钞票的方法太low了,就用那"哧咔,哧咔~"的老机器没日没夜的印,看着都着急. 这里我们可以用原型模式优化印钞票的致富之路,为什么,继续往下看...... 一.原型模式 定义   用原型实例指定所有创建对象的类型,并且通过复制这个拷贝创建新的…
在<JAVA与模式>一书中开头是这样描述原型(Prototype)模式的: 原型模式属于对象的创建模式.通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象.这就是选型模式的用意. 1.原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例.这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而无须再去通过ne…
原型设计模式是一种比较简单的设计模式,在项目中使用的场景非常多. 个人理解: 原型模式实现了对Java中某个对象的克隆功能,即该对象的类必须implements实现Cloneable接口来标识为可被克隆,然后需要覆写Object类的clone( )方法. 简单点说就是:实现一个接口重写一个方法就可以实现原型模式. 定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 通用类图如下所示: 原型模式的核心是一个clone方法,通过该方法进行对象的拷贝,Java提供了一个Clonea…
原型模式: – 通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式. – 就是java中的克隆技术,以某个对象为原型,复制出新的对象.显然,新的对象具备原型对象的特点 – 优势有:效率高(直接克隆,避免了重新执行构造过程步骤) . – 克隆类似于new,但是不同于new.new创建新的对象属性采用的是默认值.克隆出的 对象的属性值完全和原型对象相同.并且克隆出的新对象改变不会影响原型对象.然后, 再修改克隆对象的值. 原型模式实现: – Cloneable接口和clone…
一. 定义与类型 定义:指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.不需要知道任何创建的细节,不调用构造函数 类型:创建型 二.使用场景 类初始化消耗较多资源 new 产生的一个对象需要非常繁琐的过程(数据准备,访问权限等) 构造函数比较复杂 循环体中生产大量对象时 三.优缺点 优点: 原型模式性能比直接new一个对象性能高,简化创建过程 缺点: 必须配备克隆方法, 对克隆复杂对象或对克隆出的对象进行复杂改造时,容易引入风险 深拷贝,浅拷贝要运用得当 四. 扩展 深克隆:对于…