【创建型】Prototype模式
原型模式主要是用原型实例指定创建原型对象的种类,并且通过拷贝原型创建新对象。最简单的理解就是克隆。就如cocos2d-x中的 class Clonable::clone();该模式的主要目的是可以在运行时,随时创建出某个对象的副本,并且副本具有与本体一样的状态信息。类图参考如下:
模式的编码结构参考如下:
1 namespace propotype 2 { 3 /************************************************************************** 4 * create : (jacc.kim) [5-18-2016] 5 * summary : 6 **************************************************************************/ 7 class IClonable 8 { 9 public: 10 virtual IClonable* clone() = 0; 11 };//class IClonable 12 13 class ConcreteClass : public IClonable 14 { 15 public: 16 // some code here........ 17 virtual IClonable* clone() override; 18 19 private: 20 // some member data here........ 21 int m_nTheIntData; // this is a test member data. 22 };//class ConcreteClass 23 24 }//namespace propotype
模式编码结构参考
该模式的优点非常明显,可以在任何需要的时候,轻松轻松地克隆出一份当前目标的副本出来,并且最最重要的是现场状态会保持。另外,对于Client来说,同样是解除了与具体对象子类的直接依赖关系。
有优点,同样也有缺点。它的缺点也是很明显的,即为了同步现场状态,有时候clone()行为会比较复杂,实现比较繁琐。尤其在如c++这样的语言中,必需要要注意对象间的深、浅拷贝问题,一不小心就可能出现问题。
转载于:https://www.cnblogs.com/tongy0/p/5503126.html
【创建型】Prototype模式相关推荐
- 设计模式(23):创建型-原型模式(Prototype)
设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于 ...
- 【设计模式_青春版】创建型|原型模式
文章目录 原型模式(创建型) 原型模型的概念 一.实现Cloneable接口 二.实现自定义的顶层接口 java中的浅拷贝 Java中深拷贝 一.改造克隆方法 二.序列化与反序列化 总结 原型模式(创 ...
- 设计模式二:创建型-工厂模式
创建型模式:工厂模式 文章目录 创建型模式:工厂模式 工厂模式 1.工厂模式:介绍 2.工厂模式:模拟场景 3.工厂模式:代码实现 4.工厂模式:总结 工厂模式 1.工厂模式:介绍 工厂模式 简单工厂 ...
- JAVA设计模式(04):创建型-建造模式(Builder)
转载自: http://blog.csdn.net/lovesomnus/article/details/23743049 没有人买车会只买一个轮胎或者方向盘,大家买的都是一辆包含轮胎.方向盘和发动机 ...
- myeclipse怎么创建jframe类_创建型-建造者模式
一个对象创建的时候,需要各种初始化化,有一套复杂的创建流程,如果这些流程散布在系统各个地方的话,会越来越难以维护,因此建造者模式就是把一套复杂的创建某个具体产品的流程,管理起来. 定义: 将一个复杂的 ...
- 设计模式之创建型——工厂模式(3种)
→23种设计模式大纲 三种工厂模式 →23种设计模式大纲 定义 分类 1)简单工厂 UML类图 2)工厂方法 UML类图 3)抽象工厂 UML类图 总结 定义 将创建对象这一复杂的过程交由工厂控制,通 ...
- 设计模式之美(4)-创建型-建造者模式
Builder模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式. 建造者模式原理和代码非常简单, 难点在于应用场景.比如直接使用构造函数或者配合set方法就能创建对象,为什么还需要建造者 ...
- 设计模式 - 创建型 - 工厂模式
2019独角兽企业重金招聘Python工程师标准>>> 介绍 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个产品类,工厂模式使其创建过程延迟到子类进行. 优点: 1.一个 ...
- 对象创建型 - 单利模式
定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点 使用场景 通常使用在创建需要花费较大资源的对象上,如Hibernate中SessionFactory这样的重量级对象 入门案例: 代码: 饿 ...
- Java设计模式之创建型-建造者模式 (Builder)
最新文章
- JAVA中的垃圾回收机制以及其在android开发中的作用
- AI Time 7 | 人机交互的终极状态——人机共生
- 揭秘高效协作工具背后的技术架构
- 【科普】五分钟快速了解代码复杂度
- ArrayList刷题总结
- 第十章 PX4-Pixhawk-姿态控制
- 函数dup和dup2
- solidity 十六进制字符串转十六进制bytes
- JavaScript中一个对象如何继承另外一个对象
- WebSocket转载
- kubernetes资源管理
- Squid缓存服务器方案
- Linux Swap交换分区介绍
- 翁恺老师的细胞自动机
- 基于SpringBoot进销存ERP管理系统,源代码分享
- 软件质量控制、质量保证和质量管理区别
- 华为畅享二十Android是,华为畅享20 pro开箱小晒
- 马云除了发20亿玩红包,支付宝还干了一件轰动全球的大事儿!
- 学习笔记0521----mysql管理
- 程序员的linux杯子,6款专为程序猿定制的礼品