设计模式 - 原型模式 笔记

原型模式的核心思想:

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

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

原型模式非常简单:

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

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

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


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

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

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

相关推荐
yi0113 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
志尊宝4 小时前
Vue3 零基础每日笔记(073):keep-alive 页面缓存实战——列表页返回不丢状态
vue.js·笔记·缓存·#vue #前端 #前端开发·#javascript·#vue.js
weixin_448119946 小时前
Datawhale Easy Data × AI:笔记1 已重做,看新的笔记
笔记
要开心吖ZSH6 小时前
MySQL 慢 SQL 排查操作手册-个人笔记版
java·笔记·sql·mysql·慢查询
咖啡忍者8 小时前
【SAP】程制造生产计划PP-PI(Production Planning for Process Industries)
笔记
Titan20248 小时前
MySQL索引学习笔记
笔记·学习·mysql
zhangrelay9 小时前
Arduino-MEGA-ESP单片机理论课笔记02-硬件-2026
笔记·单片机·嵌入式硬件
AOI小白新手上路9 小时前
VDMamba·AutoDL 复现笔记 · 学习笔记
笔记·学习
ACP广源盛1392462567310 小时前
USB3.0 高速信号切换方案评估,LH3412 @ACP双通道差分开关硬件选型笔记
笔记·硬件架构·硬件工程·国产芯片·开关
自不量力的A同学11 小时前
Goldfish Scheme v18.11.39 发布了:迈向现代宏系统与多核并发
笔记