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

原型模式

1. 使用场景

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

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

2. 注意事项

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

3. 典型场景

  1. 从数据库表中加载了大量的静态配置参数,作为对象的内部资源,此时创建新对象时可以利用原型模式省去访问数据库的步骤。
相关推荐
段一凡-华北理工大学1 小时前
工业领域的Hadoop架构学习~系列文章18:制造业Hadoop应用实践 - 从数据到智能的完整闭环
大数据·人工智能·hadoop·分布式·学习·架构·高炉炼铁
知识分享小能手1 小时前
数据预处理入门学习教程,从入门到精通, 实战演练——数据分析师岗位分析知识点详解(8)
python·学习·信息可视化
贵慜_Derek1 小时前
《从零实现 Agent 系统》连载 20|MCP 与 Code Execution:协议、档位与 Sidecar
人工智能·设计模式·架构
.千余1 小时前
【C++】深挖STL list底层:解迭代器与节点存储逻辑
开发语言·c++·笔记·学习·其他
skywalk81631 小时前
我想基于kotti-py312 ,制作一个多中文编程语言的宣传网站,主要包括文档、playground 示例和学习 (Codearts制作)
开发语言·学习·编程
大雨淅淅1 小时前
【机器人】ROS2 机械臂控制(MoveIt2)从入门到实战
人工智能·python·神经网络·学习·算法·机器学习·机器人
星雨流星天的笔记本1 小时前
英语介词学习
学习
zhangrelay2 小时前
2000-2025 年适龄升学智能大模型整理数据
大数据·笔记·学习
RD_daoyi2 小时前
GEO优化能为企业带来哪些价值?
大数据·人工智能·学习·搜索引擎·chatgpt