美文网首页设计模式
原型设计模式——分身术

原型设计模式——分身术

作者: 0ur | 来源:发表于2019-01-07 23:27 被阅读0次
cover.jpg

创建型模式之一

定义:用唤醒实例置顶创建对象的种类,并通过拷贝这些原形创建新的对象;

使用场景:
1,过多的浪费资源
2,过多的数据准备和权限
3,一个对象需要提供给其他对象访问,并且可以修改值(保护性拷贝,浅拷贝)

缺点:直接在内存中拷贝,不走构造方法

优点:在内存中二进制流拷贝,比直接new性能好很多,尤其是在循环体产生大量的对象时,性能更为明显

简单实现:

/**
 * 原型设计模式 : 如果一个对象的创建消耗很多资源 用拷贝
 *clone 和 new 那个开销少 就用谁
 * intent  是 new 的
 */
public class ProtoTypeMode {
}


class FileManager implements Cloneable {
    //文件的名字
    private String mFileName;
    //文件的图片的集合
    private ArrayList<String> mImageList = new ArrayList();

    public FileManager() {

    }

    @Override
    protected FileManager clone() throws CloneNotSupportedException {
        FileManager fileManager = (FileManager) super.clone();
        fileManager.mFileName = this.mFileName;//基本类型
        //浅拷贝  会随值的改变 而改变已有对象的值
//        fileManager.mImageList=this.mImageList;
        //深拷贝 对引用类型的字段也进行拷贝 只更改创建对象的数据  对原有的数据不会更改
        fileManager.mImageList = (ArrayList<String>) this.mImageList.clone();
        return fileManager;
    }
}
如有出入,往大佬扶正,谢谢!!!!

相关文章

  • 原型设计模式——分身术

    创建型模式之一 定义:用唤醒实例置顶创建对象的种类,并通过拷贝这些原形创建新的对象; 使用场景:1,过多的浪费资源...

  • JavaJavascript基础进阶(十七)JS中常用的设计模式

    单利设计模式、构造原型设计模式、发布订阅设计模式、promise设计模式 单利模式 构造原型设计模式 最贴近OOP...

  • Spring 准备内容

    准备内容 原型设计模式 PropotypeModle 原型模式也属于创造型设计模式,用原型实例指定创建对象的种类,...

  • 原型和原型链篇

    原型和原型链 1.理解原型设计模式以及JavaScript中的原型规则 原型设计模式JavaScript是一种基于...

  • 常用开源框架中设计模式使用分析-原型设计模式(Prototype

    五、原型设计模式(Prototype Pattern) 5.1 介绍 相比单例设计模式,原型模式是每次创建一个对象...

  • 初始设计模式之原型模式

    原型模式是什么? 原型模式怎么用?浅拷贝深拷贝 原型模式再理解 一、原型模式是什么? ​ 原型模式是一种创建型设计...

  • 设计模式问答(一)

    设计模式问答(一) 什么是设计模式?您能说出工厂模式、抽象工厂模式、创建者模式、原型模式、原型模式的潜复制及深复制...

  • 设计模式-原型模式

    设计模式-原型模式 定义 原型模式(Prototype Pattern)是指原型实例指定创建对象的种类,并且通过拷...

  • Java设计模式之04_Prototype(原型模式)

    更多Java设计模式:Java设计模式-目录 原型模式是一种简单、易使用的创建型设计模式,通过给出一个原型对象来指...

  • 原型和原型链

    一、理解原型设计模式以及 JavaScript 中的原型规则 设计模式 工厂模式 在函数内创建一个对象,给对象赋予...

网友评论

    本文标题:原型设计模式——分身术

    本文链接:https://www.haomeiwen.com/subject/nwlmrqtx.html