原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。其本质是对对象(或者数据)的拷贝。通俗来说,就是将对象复制一份,原型实例指的就是被复制的对象。
代码实现
class data{public:data () {}virtual ~data() {}virtual class data* copy() = 0;};class data_A : public data{public:data_A() {}~data_A() {}class data* copy(){return new data_A();}};class data_B : public data{public:data_B() {}~data_B() {}class data* copy(){return new data_B();}};class data* clone(class data* pData){return pData->copy();}
应用场景
- 当一个类的实例创建过程很复杂,但我们又需要很多这样的实例
