java-設計模式-原型模式】的更多相关文章

原型模式 原型模式属于对象的创建模式,通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象,这就是原型模式的用意. 原型模式结构 原型模式要求对象实现一个可以克隆机身的接口(关于克隆,请参考Cloneable接口和Object的clone()方法),这样就可以通过复制一个实例对象本身来创建一个新的实例.这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而无须再通过new去…
在阎宏博士的<JAVA与模式>一书中开头是这样描述原型(Prototype)模式的: 原型模式属于对象的创建模式.通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象.这就是选型模式的用意. 原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例.这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自身的方法,就可以通过这个方法来获取新的对象,而无须再去通…
原型模式: 原型模式 概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 适用性 .当一个系统应该独立于它的产品创建.构成和表示时. .当要实例化的类是在运行时刻指定时,例如,通过动态装载. .为了避免创建一个与产品类层次平行的工厂类层次时. .当一个类的实例只能有几个不同状态组合中的一种时. 建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些. 参与者 . Prototype 声明一个克隆自身的接口. . ConcretePrototype 实现一个…
原型模式: 原型模式主要针对模型对象类型的克隆,对已有构造好的对象进行复制获取一个新的对象实例.比如我们在获取一个对象并成功赋值后,要传递给多个处理类去处理. 打个比方:吃面是个处理类,面是个模型对象.我们将面从锅里煮熟(模型对象的赋值加工)出来后,分到好几个碗中(克隆).然后再根据客户的要求对克隆出的面由不同的吃面对象再加工(放辣子,放醋,盐少等等),最后呈现到每个顾客面前的面就都不一样了. 表现形式: 1. 简单形式 2. 登记形式 1.简单形式 浅克隆要实现cloneable接口,因克隆是…
原型(Prototype)模式是一种对象创建型模式,他采取复制原型对象的方法来创建对象的实例.使用原型模式创建的实例,具有与原型一样的数据. 原型模式的特点: 1.由原型对象自身创建目标对象.也就是说,对象创建这一动作发自原型对象本身. 2.目标对象是原型对象的一个克隆.也就是说,通过原型模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具有相同的值. 3.根据对象克隆深度层次的不同,有浅度克隆与深度克隆. 先写一个支持克隆的类 //如果要克隆就必须实现Cloneable接口 publ…
原型模式简述 定义: 使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象 ,也就是通过复制现有对象实例产生新的对象,也就是所谓的"克隆" 实现方式: 1.实现Cloneable接口 Cloneable接口的作用是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法.在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会抛出CloneNotSupportedException异常. 2.重写Object的clone方法 Java中,所有类的…
一.原型模式的基本介绍 在聊原型模式之前,我们来思考一个小问题,传统的方式我们是如何克隆对象呢? 那我们以多利羊(Sheep)为例,来说明上述这个问题,具体代码见下面: 多利羊(Sheep) public class Sheep { private String sname; private Date birthday; public Sheep(String sname, Date birthday) { this.sname = sname; this.birthday = birthday…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 老板你加钱我的代码能飞 程序员这份工作里有两种人:一类是热爱喜欢的.一类是仅当成工作的.而喜欢代码编程的这部分人会极其主动学习去丰富自己的羽翼,也非常喜欢对技术探索力求将学到的知识赋能到平时的业务需求开发中.对于这部分小伙伴来说上班写代码还能赚钱真的是幸福! 怎么成为喜欢编码都那部分人 无论做哪行那业你都喜欢,往往来自从中持续不断都获取成就感.就开发编程而言因为你的一行代码影响到了…
前言 原型模式(Prototype模式)是指:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象 原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节. 工作原理:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建,即 对象.clone() 形象的理解:孙大圣拔出猴毛,变出其他孙大圣 原型模式类图实例 Prototype:原型类,声明一个克隆自己的接口 ConcretePrototype:具…
原型模式 是一种创建型设计模式, 使你能够复制已有对象, 而又无需使代码依赖它们所属的类. 問題: 如果我們要複製一個類實例: 首先, 你必须新建一个属于相同类的对象. 然后, 你必须遍历原始对象的所有成员变量, 并将成员变量值复制到新对象中. 但是:并非所有对象都能通过这种方式进行复制, 因为有些对象可能拥有私有成员变量, 它们在对象本身以外是不可见的. 而且我們複製的時候需要知道勢力的具體類,如果這個類實現的是接口,那就男判定 解決: 原型模式将克隆过程委派给被克隆的实际对象. 模式为所有支…