【设计模式】原型模式
原型模式
原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
说白点就是,使用原型模式可以很便捷的创建一个原型出来,之后再拷贝它,并可以对拷贝出来的东西进行修改。
原型模式原本的意思是,先构造原型,再拷贝(也就是不用构造),从而说原型模式提高了效率。
但写完代码后发现,如果要实现深拷贝,也就是所有的指针、引用的部分都需要使用new才能完成。new也就是构造对象,当然这个构造对象只是构造整个对象里的指针、引用部分,所以我认为效率的提高程度依赖于类里引用类型的数目。
讲真的,或许这个模式并不适合C++,因为C++里面有个拷贝构造,可以直接拷贝。并且再Java和C#语言中都用对应的类似于ICloneable接口。
注:我也不知道这个模式使用的频率多不多,如果使用Java或C#,我觉得我可能需要重新学习一下,但原理再上述讲清了。