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

原型模式

1. 使用场景

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

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

2. 注意事项

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

3. 典型场景

  1. 从数据库表中加载了大量的静态配置参数,作为对象的内部资源,此时创建新对象时可以利用原型模式省去访问数据库的步骤。
相关推荐
青禾网络5 小时前
Web 前端如何接入 AI 音效生成:从零到可用的完整方案
人工智能·设计模式
ZJPRENO1 天前
吃透软件开发六大设计原则,告别烂代码
设计模式
咖啡八杯1 天前
GoF设计模式——命令模式
java·设计模式·架构
花椒技术2 天前
HJPusher / HJPlayer SDK 实践:我们为什么把直播推播链路拆成一套可复用能力
设计模式·harmonyos·直播
艺艺生辉2 天前
迭代器模式-"我也想被增强for循环"
设计模式
咖啡八杯4 天前
GoF设计模式——策略模式
java·后端·spring·设计模式
槑有老呆5 天前
别再手搓 Prompt 了,那个叫"手动挡循环"
设计模式
用户6919026813396 天前
Vibe Coding 开发项目的基本范式
人工智能·设计模式·代码规范
怕浪猫7 天前
领域特定语言(Domain-Specific Language, DSL)
设计模式·程序员·架构