您的位置:首页 > 其它

设计模式之原型模式(卷四)

2018-01-07 13:12 197 查看

0x00 原型模式概述

通过一个原型对象,创建(clone)出多个相似的其他对象。常见的有浅克隆(Cloneable)和深克隆( Serializable)。浅克隆和深克隆的主要
区别在于是否支持引用类型的成员变量的复制
,下面将对两者进行详细介绍。

0x01 浅克隆

浅克隆示意图如下。



0x10 深克隆

在深克隆中,除了对象本身被复制外,对象所包含的所有成员变量(包含引用类型的变量)也将复制。



0x11 总结

优点:当创建对象实例较为复杂时,可以简化对象创建的过程;使用深克隆保存对象状态,便于恢复操作。

缺点:克隆方法位于类内部,修改会违背开闭原则。深克隆方法编写较为复杂。

适用场景:新的实例可以通过原型对象复制获得,如果是相似对象,对其成员变量稍作修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式