首页/开发/代码质量与评审速查/原型模式 Prototype(创建型)
设计原则与模式62 条

原型模式 Prototype(创建型)

通过克隆已有实例创建新对象:配置模板、成本高昂的初始化对象适合此模式;注意浅克隆与深克隆的区分,成员含引用类型时要显式深拷贝策略。

意图以克隆代替从头构造
关键浅拷贝 vs 深拷贝
接口Java Cloneable / copy 构造器 / 序列化

拷贝构造器(推荐形态)

拷贝构造器(推荐形态)
class Config {
    final List<String> hosts;
    Config(Config other) {
        this.hosts = List.copyOf(other.hosts);
    }
}

易错点

  • 浅克隆共享可变成员:改副本影响原作
  • clone() 未同步维护:新增字段被漏拷贝

数据来源与参考

  • 《设计模式》(GoF)· Prototype
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌