java设计模式-原型(prototype)】的更多相关文章

[设计模式]Java设计模式 - 原型模式 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 原创作品,更多关注我CSDN: 一个有梦有戏的人 准备将博客园.CSDN一起记录分享自己的学习心得!!! 分享学习心得,欢迎指正,大家一起学习成长! 目录 [设计模式]Java设计模式 - 原型模式 简介 克隆 ①.古老办法 ②.原型模式 浅拷贝 深拷贝 方式一:通过重写clone()方法 方式二:通过对象序列化 简介 原型模式(Prototype Pattern)是用于创…
原型模式属于对象的创建模式.通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象.这就是选型模式的用意. 原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例.这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而无须再去通过new来创建. 原型模式有两种表现形式:(1)简单形式.(2)登记形式,这两种表现形式…
在<JAVA与模式>一书中开头是这样描述原型(Prototype)模式的: 原型模式属于对象的创建模式.通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象.这就是选型模式的用意. 1.原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例.这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而无须再去通过ne…
public class BaseSpoon implements Cloneable {//spoon 匙, 调羹 String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override protected BaseSpoon clone() throws CloneNotSupportedException { System.o…
概念定义 使用原型实例指定待创建对象的种类,并通过拷贝该原型来创建新的对象.Prototype模式允许一个原型对象克隆(复制)出多个与其相同的对象,而无需知道任何如何创建的细节. 应用场景 对象的创建过程较为复杂且需要频繁创建 期望根据现有的实例来生成新的实例,例如: 对象种类繁多而无法整合到一个类时 难以通过指定类名生成实例时 希望解耦框架与生成的实例时 在实际应用中,Prototype模式很少单独出现.经常与其他模式混用. 原型实现 所有Java类都继承自java.lang.Object,而…
有时候创建对象是需要耗费很多资源,但是每个对象之间又有大量的重复.我们可以选择在创建好一个对象后,以之作为模板克隆出其他对象,稍作修改,即可用于其他地方. 需要实现Cloneable接口,重写clone()方法.其实就是调用的Object类的clone()方法. 克隆对象只是复制了原对象的数据,每个对象还是独立的,他们的内存地址不同. /** * Created by wangbin10 on 2018/5/18. */ public class Prototype2 implements Cl…
1.原型 原型设计模式所谓原型设计模式,其实就是对象复制,这个特性在所有语言基本上都是存在的. 我们知道在OC中,对象赋值其实是对对象的引用复制,其实就是相当于C语言中的指针.创建了一个新的变量,但是还是指向的同一块内存地址. 所以一旦一个引用改变了该对象的属性,那么其他指向该对象的引用全部都会发生变化. 有时候我们并不像要这样做,我们希望重新创建一个和赋值对象一模一样的一个对象.比如我们写游戏的时候创建了一个enemy对象并对其复杂的行走路径进行了自定义,此时我们想要在创建一个.但是再次创建时…
原型模式(Prototype):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 原型模式结构图 通俗来说:原型模式就是深拷贝和浅拷贝的实现. 浅拷贝 只实现了值拷贝,对于引用对象还是指向原来的对象. 父类实现clone方法,子类没有实现clone方法,其效果是浅拷贝. 父类实现clone方法,子类也实现clone方法,本来我想应该是深拷贝了,没想到也是浅拷贝. package com.prototype; import java.io.Serializable; public…
"不好意思,我是卧底!哇哈哈哈~"额......自从写了上一篇的观察者模式,就一直沉浸在这个角色当中,无法自拨.昨晚在看<使徒行者2>,有一集说到啊炮仗哥印钞票,我去,这就是想印多少就印多少的节奏. 但是我觉得他们印钞票的方法太low了,就用那"哧咔,哧咔~"的老机器没日没夜的印,看着都着急. 这里我们可以用原型模式优化印钞票的致富之路,为什么,继续往下看...... 一.原型模式 定义   用原型实例指定所有创建对象的类型,并且通过复制这个拷贝创建新的…
 一.概念 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. 二.模式动机 当已有一个对像,暂且称之为原型对象,需要一个新的对像,该对像和已有的原型对像具有相同的类型,且里面的属性大部分相同,或者只有个别不同时,这时就可以用原型模式,克隆原型对像,产生一个新的对像,并对新的对像属性进行适当的修改,已适应系统需求.比如新生产的同一批次同一型号的笔记本电脑,如果每个电脑都是一个实例对像,这些电脑配置都是相同的,唯一不同可能是序列号不同,如何实例化所有的电脑,这时就可以用一个原型电脑,去…