原型模式
是一种创建型设计模式,它用于创建重复的对象,同时又能保证性能。这种类型的设计模式提供了一种创建对象的最佳方式。这种模式涉及到一个原型类,该类负责创建对象的克隆。
在C++中,我们可以使用复制构造函数来实现原型模式。下面是一个简单的示例:
1 |
|
原型模式主要用于减少创建对象的开销,尤其是在创建大量重复对象时,通过复制已有对象来生成新对象,可以提高性能。
设计模式23模式介绍_设计模式_哪 吒-Eolink 开发者社区 (csdn.net)
补充更新:
原型模式可以根据需求更加灵活的使用。灵活决定拷贝哪些内部属性。
说明:
- 浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用
- 深拷贝: 创建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用”
浅拷贝只是对指针的拷贝,拷贝后两个指针指向同一个内存空间,深拷贝不但对指针进行拷贝,而且对指针指向的内容进行拷贝,经深拷贝后的指针是指向两个不同地址的指针。