23种设计模式——原型模式

快就是慢,慢就是快。人生的道路上不要急于求成,要学会享受过程。

设计模式分类

设计模式分为创建型、结构型、行为型。原型模式是一种创建型的行为模式。

什么是原型模式

原型模式也称为克隆模式,也就是将已经创建好的对象作为原型,通过复制原型对象创建出相同或相似的对象。

有哪些角色

1.抽象原型类,规定了原型对象必须实现的接口。(在Java中就是Cloneable接口)。
2.具体原型类,也就是实现了抽象原型类(Cloneable)接口的对象,它是一个可复制的对象。
3.客户端,操作原型类进行对象复制。

深克隆和浅克隆

浅克隆

浅克隆就是新对象和原型对象的复杂数据类型指向同一个内存地址。
当新克隆的对象修改复杂数据类型数据时,原型对象也会被修改(基本数据类型不会被修改,这儿和值传递那块有点类似)。
使用super.clone()就是浅克隆。

深克隆

深克隆就是新对象和原型对象的复杂数据类型指向不同内存地址。

3种实现方式

一是克隆中再套克隆。
二是使用序列化技术将对象序列化到内存中,然后再反序列化完成克隆。
三是使用一些对象和json相互转化的框架(因为其内部是使用的深克隆技术),所以转换获得的对象也是深克隆后的对象。

原型(克隆)模式在Java中的应用

创建复杂对象(必须游戏新建一个角色,必然关联很多初始化的东西)。
暂时想不到别的了,以后补充吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值