zoukankan      html  css  js  c++  java
  • 《设计模式之禅》学习笔记(十三)

    第13章 原型模式

    原型模式(Prototype Pattern)的定义如下:

    Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype.(用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。)

       

    原型模式的核心是一个clone方法,通过该方法进行对象的拷贝,Java提供了一个Cloneable接口来标示这个对象是可拷贝的。Cloneable接口一个方法都没有,只是一个标记作用。方法是覆盖clone()方法。

       

    原型模式的优点

    性能优良。原型模式是在内存二进制流的拷贝,要比直接new一个对象性能好很多。

    逃避构造函数的约束。直接在内存中拷贝,构造函数不会执行。

       

    原型模式的使用场景

    资源优化场景

    性能和安全要求的场景

    一个对象多个修改者的场景

       

    浅拷贝和深拷贝

    内部的数组和引用对象不会被拷贝,其他的原始类型比如int、long、char等都会被拷贝

    浅拷贝

       

    使用原型模式,引用的成员变量必须满足两个条件才不会被拷贝:

    一是类的成员变量,而不是方法内变量;

    二是必须是一个可变的引用对象,而不是一个原始类型或不可变对象。

       

    对象的clone与对象内的final关键字是有冲突的。

  • 相关阅读:
    #在蓝懿学习iOS的日子#Day10
    #在蓝懿学习iOS的日子#Day9
    #在蓝懿学习iOS的日子#第三个练习日
    #在蓝懿学习iOS的日子#Day8
    WCF基础:绑定(二)
    WCF基础:绑定(三)
    WCF基础:绑定(一)
    MVC框架中的值提供机制(三)
    MVC框架中的值提供机制(二)
    MVC框架中的值提供机制(一)
  • 原文地址:https://www.cnblogs.com/qwertWZ/p/2836021.html
Copyright © 2011-2022 走看看