设计模式C++描述----08.原型(Prototype)模式
来源:互联网 发布:仁以为己任 不亦重乎 编辑:程序博客网 时间:2024/05/22 16:59
一. 概述
定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
换句话说,就是不用重新初始化对象,而是动态地获得对象运行时的状态。
再说明白点,就是要一个拷贝过构造函数类似功能的接口。
结构图如下:
代码如下:
- //原型类,有一个clone接口
- class Prototype
- {
- public:
- virtual ~Prototype() {}
- virtual Prototype* Clone() const = 0;
- };
- //具体原型类,实现一个clone自身的操作
- class ConcretePrototype:public Prototype
- {
- public:
- ConcretePrototype() {}
- //拷贝构造函数
- ConcretePrototype(const ConcretePrototype& cp)
- {
- cout<<"ConcretePrototype copy ..."<<endl;
- }
- //克隆接口
- Prototype* Clone() const
- {
- return new ConcretePrototype(*this);
- }
- };
- //测试代码
- int main(int argc,char* argv[])
- {
- //拷贝构造操作
- ConcretePrototype p1;
- ConcretePrototype p2 = p1;
- //克隆操作
- Prototype* p3 = new ConcretePrototype();
- Prototype* p4 = p3->Clone();
- return 0;
- }
二. 说明
1. Prototype 模式的关键就是(C++中)拷贝构造函数的实现方式,这也是C++实现技术层面上的事情。
2. 示例代码中不涉及到深层拷贝(主要指有指针、复合对象的情况),主要在于体现Prototype模式的思想。
转自:http://blog.csdn.net/lwbeyond/article/details/7545492
- 设计模式C++描述----08.原型(Prototype)模式
- 设计模式C++描述----08.原型(Prototype)模式
- 设计模式 原型Prototype
- prototype(原型设计模式)
- 设计模式--Prototype(原型)
- Prototype(原型)设计模式
- 设计模式-prototype原型
- 设计模式--原型模式(ProtoType)
- [设计模式]Prototype原型模式
- 设计模式--Prototype(原型模式)
- 设计模式 -- 原型模式Prototype
- 设计模式-原型模式(Prototype)
- [设计模式] 原型模式(Prototype)
- 设计模式-原型模式(Prototype)
- 【设计模式】-原型模式-Prototype
- 设计模式 原型模式 Prototype
- 设计模式:原型模式-prototype
- 设计模式---原型模式(Prototype)
- linux下批量替换文件内容
- 电影记忆之21(致命ID)
- 防止DC电源反接的方法
- 监视系统中进程的创建和终止
- springMVC文件上传
- 设计模式C++描述----08.原型(Prototype)模式
- 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题
- xmind
- Linux下移植pjsip,使用QT开发
- 解决eclipse闪退的办法
- 打表法求素数模板
- php单引号和双引号的区别
- JDK误删无法进行重新安装的解决办法
- jQuery选中多选框和单选框和下拉框