zoukankan      html  css  js  c++  java
  • 原型模式

    一、定义:原型模式是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的实例。

    二、使用场景

      1)类初始化消耗资源较多

      2)new产生的对象需要非常繁琐的过程(数据准备、访问权限等)

      3)构造方法比较复杂

      4)循环体中产生大量对象

    注:spring中使用原型模式的地方特别多,例如scope="prototype",我们经常用的JSON.parseObject也是一种原型模式,原型模式与单例模式互斥,不可一起使用。

    三、浅克隆与深克隆

      1.浅克隆:复制的不是值,而是引用地址,这样修改任意一个对象中的属性值,另一个对象的属性值也会同步变化。

      2.深克隆:复制的是值,不是引用地址,原始对象与新对象是独立互不影响的。

        深度克隆破坏单例模式:如果我们复制的对象是单例模对象,那么深度克隆就会破坏单例,实际上,防止克隆破坏单例模式非常简单,不实现cloneable接口

       或者重写clone方法,返回当前实例。

  • 相关阅读:
    [笔记]一道C语言面试题:IPv4字符串转为UInt整数
    linux内核代码注释 赵炯 第三章引导启动程序
    bcd码
    2章 perl标量变量
    1章 perl入门
    perl第三章 列表和数组
    浮动 float
    文字与图像
    3.深入理解盒子模型
    4.盒子的浮动和定位
  • 原文地址:https://www.cnblogs.com/Lena666/p/11451398.html
Copyright © 2011-2022 走看看