java设计模式之原型模式】的更多相关文章

目录 JAVA 设计模式之原型模式 简介 Java实现 1.浅拷贝 2.深拷贝 优缺点说明 1.优点 2.缺点 JAVA 设计模式之原型模式 简介 原型模式是六种创建型设计模式之一,主要应用于创建相同或相似的对象. Java实现 Java中实现原型模式的方法主要分为深拷贝和浅拷贝两种. 注意:深拷贝和浅拷贝的主要区别是,是否复制对象的成员中的其他引用类型数据. 1.浅拷贝 实现Cloneable接口,并重写Object的clone方法,并在方法中直接待用super.clone()调用Object…
java设计模式4--原型模式 1.写在前面 本节内容与C++语言的复制构造函数.浅拷贝.深拷贝极为相似,因此建议学习者可以先了解C++的该部分的相关知识,或者学习完本节内容后,也去了解C++的相应内容,进行比对学习. 2.原型模式介绍 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆.当直接创建对象的代价比较大时,则采用这种模式.例…
原型模式概念 该模式的思想就是将一个对象作为原型,对其进行复制.克隆,产生一个和原对象类似的新对象.java中复制通过clone()实现的.clone中涉及深.浅复制.深.浅复制的概念如下: ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象. Object类提供的方法clone只是拷贝本对象,其对象内部的数组.引用对象等都不拷贝,还是指向原生对象的内部元素地址 ⑵深复制(深克…
原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制.克隆,产生一个和原对象类似的新对象.本小结会通过对象的复制,进行讲解.在Java中,复制对象是通过clone()实现的,先创建一个原型类: [java] view plaincopy public class Prototype implements Cloneable { public Object clone() throws CloneNotSupportedExcepti…
一.概述: 使用原型实例指定创建对象的种类,而且通过拷贝这些原型创建新的对象. 简单的说就是对象的拷贝生成新的对象(对象的克隆),原型模式是一种对象创建型模式. 二.使用场景: 创建新的对象能够通过对已有对象进行复制来获得,假设是相似对象,则仅仅需对其成员变量稍作改动. 三.UML结构图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamFuaWNlMDUyOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA…
原型模式(Prototype Pattern)是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 原型模式利用的是克隆的原理,创建新的对象,JDK提供的Cloneable 和JSON.springUtil里面的克隆都是一般浅克隆,与之对应的还有深克隆 1.浅克隆 浅克隆也是穿件一个新的对象,不过该对象的属性值是被克隆对象的,如果修改被克隆对象,后者跟着修改. 下面我们用Cloneable写一个简单的浅克隆 import java.util.List; /** * @Descrip…
原型模式: 原型模式又叫克隆模式 Java自带克隆模式 实现克隆模式必须实现Cloneable 接口,如果不实现会发生java.lang.CloneNotSupportedException异常 当某个类的属性已经设定好需要创建很多相同属性值的对象的时候使用clone模式非常方便 使用clone模式不见得比传统的new方式性能高 浅克隆和深克隆 先看下面的代码,没有实现Cloneable接口 package com.srr.dp.clone; /** * (原型模式)克隆模式 */ public…
目录 定义 意图 主要解决问题 何时使用 优缺点 结构 简单形式的原型模式 登记形式的原型模式 两种形式比较 浅克隆和深克隆 孙悟空的身外身法术 浅克隆实现 深克隆实现 定义 原型模式属于对象的创建型模式,通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象,这就是原型模式的用意 java语言的构建模型直接支持原型模式,所有的JavaBean都继承自java.lang.Object,而且Object类提供了一个clone()方法,可以将一个JavaB…
设计模式_11_原型模式(prototype) 浅拷贝: package designPatternOf23; /** * 定义:用原型实例,指定创建对象的种类,并通过拷贝这些原型创建新的对象 * Prototype类条件:实现Cloneable接口才可以被拷贝. * 重写Object类的clone方法,将拷贝的protected对象改为public * 有点适用场景:1.是object的基本方法,直接操作内存,复制大对象时,提升性能明显. * 2.简化创建,重复创建相似对象用 * 注意:1.使…
来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_原型模式.prototype.浅复制.深复制.Cloneable接口  浅复制 package com.test.prototype; import java.util.Date; /** * 浅复制 */ public class Sheep implements Cloneable{//Cloneable为标记接口 private String sname; private Date birthday; @Over…