RedCloud Help

原型设计模式

适合场景

  • 类初始化消耗太多资源。

  • new产生的一个对象需要非常繁琐的过程(数据准备,访问权限等)

  • 构造函数比较复杂

  • 循环体中产生大量对象时

Client
Client(Prototype)
startClone(Protorype)
Prototype
clone() : Prototype
ConcretePrototypeB
clone() : Prototype
ConcretePrototypeA
String name
List hobbies
int age
clone() : ConcreteProtorypeA
JinGuBang
Monkey
«interface»
Cloneable
clone() : Object
QiTianDaSheng
JinGuBang
clone() : Object
deepClone() : Object

克隆破坏单例模式 如果我们克隆的对象是单例对象,哪意味着,深克隆就会破坏单例。实际上放置克隆破坏单例解决思路非常简单,禁止深克隆便可。要么我们的单例类不是先Cloneable接口,妖魔我们重写clone()方法,在clone方法中返回单例对象即可。

13 February 2026