第9章 简历复印——原型模式
定义
原型模式,通过拷贝已有原型的方式创建对象的思想。
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
实现
实现上,原型模式的类里面有复制函数,用于复制生成一个同样的对象,而非直接赋值以及重新创建。如Clone,这样,创建新的对象时便于多处复用对象信息,防止直接复制带来的只传引用。
- Prototype: 原型类,声明一个克隆自身的接口。
- ConcretePrototypex: 具体原型类,实现克隆自身的操作。
- Client: 让一个原型克隆自身,从而创建一个新的对象。
原型模式类图:
img原型模式客户端使用:
img总结与注意
这里面又涉及到深拷贝浅拷贝,所以在复制函数中实现具体的情况。
一般:Clone函数是浅拷贝,Copy是深拷贝。浅拷贝只对值成员复制而对对象成员复制引用,而深拷贝对所有成员都重新拷贝(对象成员中实现复制函数等等)。
一般在初始化信息变化不大的情况下,克隆是最好的方法。既隐藏了对象创建的细节,又大大提高了性能。
网友评论