背景
如果 你需要花费很大消耗 连接一次数据库,那么你应该将此连接句柄缓存(保留其引用),这里就要使用原型模式。
UML
代码实现
interface IProtoType{
public function clone(){};
}
class ConcreteProto implements IProtoType{
private var _id:int;
public function ConcreteProto(id){
_id = id;
}
public function get id():int{
return _id;
}
public function clone(){
// 浅拷贝
var cloneObj:ConcreteProto = null;
for(key in this){
cloneObj[key] = this[key];
}
}
}
// 使用原型模式创建多个相同的对象
var c1:ConcreteProto = new ConcreteProto(1);
var c2:ConcreteProto = c1.clone();
总结
原型模式很好 为部分实例化开销大且需要多次使用的资源创建提供了一直开销较小的创建方法