设计模式(之六、原型模式ProtoType)
来源:互联网 发布:ubuntu 安装 kde 编辑:程序博客网 时间:2024/05/22 09:14
设计模式之六、原型模式ProtoType</br>
适用范围:用原型实例指定创建对象的各类并且通过拷贝这些原型创建新的对象</br>
书中实例:</br>
简历模型。</br>
原型模式结构图如下所示。</br>
关键代码如下:</br>
1、父类IProtoType.h</br>
//抽象方法</br>
virtual IProtoType *Clone() = 0;</br>
IProtoType.cpp</br>
IProtoType::SetId(int id)</br>
{</br>
m_id = id;</br>
}</br>
IProtoType::GetId()</br>
{</br>
return m_id;</br>
}</br>
<br>
2、子类IProtoTypeA.cpp</br>
IProtoType IProtoTypeA::Clone()</br>
{</br>
return (IProtoType*)new IProtoTypeA(this);</br>
}</br>
<br>
IProtoTypeA::IProtoTypeA(IProtoType *p)</br>
{</br>
this->SetId(p->GetId());</br>
}</br>
<br>
其它子类类似</br>
....</br>
3、客户端的实现main.cpp</br>
IProtoTypeA *a = new IProtoType();</br>
a->SetId(123);</br>
IProtoType *p = a->Clone();</br>
cout<<"P id:"<<p->GetId()<<endl;</br>
//释放内存
if (a != NULL)
{
delete a;
}
if(p != NULL)
{
delete p;
}
- 设计模式(之六、原型模式ProtoType)
- 设计模式之六:原型模式(Prototype)
- 六、创建模式之原型(Prototype)模式
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype(原型)
- 设计模式之Prototype原型设计模式
- (创建模式)设计模式之Prototype(原型)
- Windows下的权限设置详解
- MISC SP订购通知接口
- Android通过网络调试程序
- 约束条件下二次误差度量简化方法
- Windows Shell扩展系列文章 1 - .NET 4 编写Windows Shell上下文菜单扩展
- 设计模式(之六、原型模式ProtoType)
- 个总开源License授权
- 昨天下午解决问题的教训
- ubuntu下opancv1.0 make错误
- Asp.net DateTime类型改变时间
- 请把时间花在经典上——华章精品汇总
- ESX Server 4.1的安装与破解全过程(四)
- 鄙视IE6
- nginx