原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。
结构图
角色与理解
- 原型模式共有以下几种角色:
- Prototype(抽象原型类)定义clone方法的接口,类型为接口、抽象类或者具体的类,是所有具体原型类的父类
- ConcretePrototype(具体原型类)实现clone方法的实现了,可以为多个类,提供不同的clone方式
- Client(客户类)让一个原型对象复制新的对象
- 原型方法的核心是如何实现clone方法,不同的clone方法最终的效果也是不一样的
深拷贝与浅拷贝
- 浅拷贝(ShallowClone):当对象被复制时,只复制对象本身与值类型的成员变量,引用类型的成员变量没有被复制
- 深拷贝(DeepClone):当对象被复制时,对象本身、值类型成员变量、引用类型成员变量都会被复制,原型对象与复制对象完全独立
核心代码
- 抽象原型类
- 被复制的对象与具体原型类的结合体
- 客户端
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
数据库
+关注
关注
7文章
3750浏览量
64208 -
Cyclone
+关注
关注
0文章
54浏览量
30063
发布评论请先 登录
相关推荐
[讨论]针对发明专利创造性无效的部分答复
针对发明专利创造性无效的部分答复 专利纠纷 2010-04-21 08:54:02 阅读11 评论1 字号:大中小  
发表于 04-22 10:52
喜欢用ERP新技术的人能发挥管理创造性思维
喜欢用ERP新技术的人能发挥管理创造性思维我们知道“兴趣是最好的老师”,这是一句比较经典的话,那么我想表达的是如果某人对自己所在的领域感兴趣,只要有长期坚持下去的信念,一般会激发他的创造性思维,这是
发表于 07-29 10:09
喜欢用ERP新技术的人能发挥管理创造性思维
喜欢用ERP新技术的人能发挥管理创造性思维我们知道“兴趣是最好的老师”,这是一句比较经典的话,那么我想表达的是如果某人对自己所在的领域感兴趣,只要有长期坚持下去的信念,一般会激发他的创造性思维,这是
发表于 08-09 10:11
McDSP Futzbox 创造性的使用演示
在这段视频中,我们将向您展示一些创造性的方法,在设计小军鼓声音时,如何利用Futzbox的功能和参数来发挥您的优势! 我们还谈到了Futzbox的模式选择器在插件的声音中发挥的作用。典型的后期制作
发表于 07-25 08:09
电子工程师结合创造性与习惯
电子工程师结合创造性与习惯
人们可能会对电子产品的开发与设计方法坚持某种不变的观念,甚至对解决不同问题所采用的器件这样的小事都有某种思维定势,这是可
发表于 12-16 09:19
•2025次阅读
设计模式之结构型模式
结构型模式一、适配器模式(一)定义:适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独
发表于 11-06 17:51
•1次下载
嵌入式 C 语言之原型模式应用
原型模式(Prototype Pattern),是属于创建型模式的一种。原型模式主要是使用了原型对象实例,来指定被创建对象的种类,并且通过拷贝原型
发表于 01-12 11:14
•283次阅读
评论