设计模式 - 原型模式 笔记

原型模式的核心思想:

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

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

原型模式非常简单:

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

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

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


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

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

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

相关推荐
摇滚侠4 分钟前
《SpringBoot 3:入门与应用实战》第 13 章 整合 MyBatis 使用 MyBatis-Plus 阅读笔记 40
spring boot·笔记·mybatis
INS_KF9 小时前
【编程笔记】成员函数中两个 const 的区别(const Data &getData() const;)
前端·javascript·笔记
tju新生代魔迷11 小时前
Verilog HDL 学习笔记(十三)| 第13章 编程语言接口(PLI)
笔记·学习
点心的游戏开发世界12 小时前
UnityShaderGraph滚动UV笔记
笔记·uv
瑞码空间12 小时前
git知识点黄金笔记
笔记·git·elasticsearch
天若有情67314 小时前
Node+MySQL小型全栈笔记项目实战课程分享
数据库·笔记·mysql
摇滚侠16 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 JDBC 事务管理 阅读笔记 33
spring boot·笔记·后端
Wendy不吃榴莲17 小时前
# AI短剧教程 - 《后西游记》开播后,AI影视为什么更考验“连续讲故事”?
人工智能·笔记·学习·ai·视频
Agudamu116117 小时前
B站学习视频怎么变笔记:用 Ai好记 + Obsidian 搭建个人知识库的完整教程
人工智能·笔记·学习·音视频
疯狂打码的少年19 小时前
【数据库技术】SQL嵌套查询(IN/EXISTS/ANY/ALL)
数据库·笔记·sql