【学习设计模式】原型模式

原型模式

1. 使用场景

对象的创建成本比较大,为了避免重复执行创建过程,可以从已有对象(原型)拷贝一份,作为新对象的初始版本,再做少量修改即可。

总结:创建成本高差异很小,需要同时满足这两个条件,缺一不可。

2. 注意事项

  1. 如果对象内部存在指针或引用,需要注意深拷贝与浅拷贝的问题(网上一些文章,或许是为了显得文章内容很丰富,将大量篇幅放在讨论深浅拷贝的问题上了,实属本末倒置,容易误导新手);
  2. 不适合场景:对象中存在不可拷贝的属性(比如锁、数据库连接)。

3. 典型场景

  1. 从数据库表中加载了大量的静态配置参数,作为对象的内部资源,此时创建新对象时可以利用原型模式省去访问数据库的步骤。
相关推荐
2601_949950632 小时前
练题簿在线练题全流程:从资料导入到模拟考试与错题复盘
学习·考研·小程序·刷题·小程序推荐
别动我齐刘海2 小时前
ROS2 Jazzy + C++ 实战路线——基础学习2
c++·人工智能·vscode·python·学习·机器学习·机器人
水云桐程序员4 小时前
量子力学概论,量子力学概念总结
笔记·科技·学习·量子计算
三克的油6 小时前
java-学习1
java·开发语言·学习
j7~6 小时前
【C++微服务项目开发脚手架】(接口篇一)gflags + gtest + spdlog 接口学习笔记
c++·学习·gtest·项目开发·spdlog·gflags·c++项目微服务开发脚手架
彧azz6 小时前
图的最短路径:Dijkstra与Floyd算法
数据结构·笔记·学习
笨鸟先飞的橘猫7 小时前
系统设计复盘2026-09-18
学习
传奇开心果编程8 小时前
【Rust入门练中学】 第1课:从零开始
开发语言·学习·rust
高亦真8 小时前
今天是学习嵌入式的第39天
linux·学习·算法
冬奇Lab9 小时前
DeepSeek Harness 系列(10):写一个完整的 dsh 插件——从需求到上线
人工智能·学习·开源