全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

设计模式创造性:原型模式

时间:2023-06-09 15:25

人气:

作者:admin

标签: 创造性    设计模式  原型 

导读:原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。...

原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。

结构图

图片

角色与理解

  • 原型模式共有以下几种角色:
  • Prototype(抽象原型类)定义clone方法的接口,类型为接口、抽象类或者具体的类,是所有具体原型类的父类
  • ConcretePrototype(具体原型类)实现clone方法的实现了,可以为多个类,提供不同的clone方式
  • Client(客户类)让一个原型对象复制新的对象
  • 原型方法的核心是如何实现clone方法,不同的clone方法最终的效果也是不一样的

深拷贝与浅拷贝

  • 浅拷贝(ShallowClone):当对象被复制时,只复制对象本身与值类型的成员变量,引用类型的成员变量没有被复制
  • 深拷贝(DeepClone):当对象被复制时,对象本身、值类型成员变量、引用类型成员变量都会被复制,原型对象与复制对象完全独立

核心代码

  • 抽象原型类

图片

  • 被复制的对象与具体原型类的结合体

图片

  • 客户端

图片

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信