设计模式之禅学习笔记--原型模式

来源:互联网 发布:淘宝客要怎么推广 编辑:程序博客网 时间:2024/06/15 02:59

一、定义

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象

二、通用类图


原型模式的核心是clone方法,通过 调用该方法进行对象的克隆/拷贝。在Java中提供了一个Cloneable接口来标示这个对象是可以拷贝的。Cloneable接口中没有一个方法,只起到标示作用,只需要重写Object类中的clone()方法即可拷贝该对象。


三、通用代码

public class Prototype implements Cloneable {@Overrideprotected Object clone() throws CloneNotSupportedException {Prototype prototype = (Prototype) super.clone();return prototype;}}
这样就完成了原型模式。


四、原型模式的优点

1:性能优良

2:逃避构造函数的约束(在调用clone()方法时是直接在内存中拷贝,不经过构造器)

五、注意点

1:使用原型模式时,引用类型的成员变量必须满足两个条件才不会被拷贝:一是类的成员变量,而不是方法内变量(static);二是必须是一个可变的应用对象,而不是一个原始类型或不可变类型。(基本类型及原始类型都会被拷贝,String是不可变的)

0 0