Java设计模式—原型模式

概述

原型模式(Prototype),是指用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。其实质就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。

UML

Java设计模式—原型模式

ClientPro:让一个原型去克隆自身,创建一个新的对象;

ProtoType:原型类 ,声明一个克隆自身的接口;

ConcretePrototype:具体的原型类,负责实现具体的克隆操作。

总结

原型模式其实就是利用了对象的拷贝这一特性,实现的机制便是实现Cloneable接口以拥有自我复制的能力。需要注意的是拷贝可以分为浅拷贝和深拷贝,有需要的朋友可以查看Java浅拷贝与深拷贝,该篇文章介绍了java中深、浅拷贝的机制,也是原型设计模式的代码实现。