概述
原型模式 (prototype pattern) 是将某个类实例作为原型,对这个原型进行复制得到相同类型的多个实例。
优点:当需要创建的类型比较复杂时,使用原型模式可以简化创建过程。
缺点:每个类都需要有一个克隆方法,对于深复制比较复杂。
Java 中,实现 Cloneable 接口可以使用 clone() 方法实现浅复制;实现 Serializable 接口通过序列化的方式可以实现深复制。
图示:
还可以创建另外一个类,称为原型管理器,存储每一个原型对象,需要创建某个原型对象的实例时,从该类中取出对应的原型进行复制。
参考
[1] 刘伟,设计模式,2011.