设计模式 - 原型模式 笔记

原型模式的核心思想:

不通过 new 来创建对象,而是通过"克隆"一个现有的对象(原型)来创建新对象。

它的主要目的是性能优化。

原型模式非常简单:

  1. 核心概念直白 :不通过 new 创建对象,而是**"克隆"一个已存在的对象**作为副本。

  2. 代码量极少 :核心就是实现一个 clone() 方法(或自定义拷贝方法)。

  3. 非常符合直觉:就像复印文件,不用重写内容,直接复印原件就行。


虽然基础用法简单,但有两类情况需要稍加注意:

  • 浅拷贝 vs 深拷贝super.clone() 默认是浅拷贝(只复制基本类型和引用地址)。如果对象内部有可变对象(如 ListDate),修改副本会影响原件,这时需要手动实现深拷贝(如序列化或递归复制)。

  • 必须实现 Cloneable 接口 :否则会抛出 CloneNotSupportedException

相关推荐
咖啡八杯17 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
胡萝卜术1 天前
从“分数打架”到“排名投票”:为什么你的ChatBI必须用RRF?
算法·设计模式·面试
亦暖筑序2 天前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
RainCity2 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
青禾网络4 天前
Web 前端如何接入 AI 音效生成:从零到可用的完整方案
人工智能·设计模式
ZJPRENO5 天前
吃透软件开发六大设计原则,告别烂代码
设计模式
咖啡八杯5 天前
GoF设计模式——命令模式
java·设计模式·架构
花椒技术6 天前
HJPusher / HJPlayer SDK 实践:我们为什么把直播推播链路拆成一套可复用能力
设计模式·harmonyos·直播
艺艺生辉6 天前
迭代器模式-"我也想被增强for循环"
设计模式