创建型模式之原型模式

时间:2019-06-28 21:13:18   收藏:0   阅读:136

定义

类图如下:

      技术图片

原型模式涉及3个角色。

Java中内置了克隆机制,Object类具有一个clone()方法,能够实现对象的克隆,使一个类支持克隆需要以下两步。

 Prototype.java

public interface Prototype extends Cloneable {
    // 克隆方法
    Prototype clone();
}

    具体原型ConcretePrototype实现clone()方法,代码如下。

ConcretePrototype.java

public class ConcretePrototype implements Prototype {
    @Override
    public Prototype clone() {
        try {
            return (Prototype) super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return null;
    }
}

    客户类Client的代码如下:

Client.java

public class Client {
    public void operation(Prototype example) {
        // 得到example副本
        Prototype p = example.clone();
    }
}

优点

使用场景

    在实际项目中,原型模式很少单独出现,一般是和工厂方法模式一起出现,通过clone方法创建一个对象,然后由工厂方法提供给调用者。

设计模式Java版.电子工业出版社 p65

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!