设计模式之原型模式(卷四)
2018-01-07 13:12
197 查看
0x00 原型模式概述
通过一个原型对象,创建(clone)出多个相似的其他对象。常见的有浅克隆(Cloneable)和深克隆( Serializable)。浅克隆和深克隆的主要区别在于是否支持引用类型的成员变量的复制,下面将对两者进行详细介绍。
0x01 浅克隆
浅克隆示意图如下。0x10 深克隆
在深克隆中,除了对象本身被复制外,对象所包含的所有成员变量(包含引用类型的变量)也将复制。0x11 总结
优点:当创建对象实例较为复杂时,可以简化对象创建的过程;使用深克隆保存对象状态,便于恢复操作。缺点:克隆方法位于类内部,修改会违背开闭原则。深克隆方法编写较为复杂。
适用场景:新的实例可以通过原型对象复制获得,如果是相似对象,对其成员变量稍作修改。
相关文章推荐
- 23种设计模式(5)-原型模式
- 面向对象设计模式之Prototype原型模式(创建型)
- 设计模式之原型模式(prototype)
- 学习php设计模式 php实现原型模式(prototype)
- 设计模式(十五):原型模式
- 设计模式之原型模式(Prototype)(五)
- PHP设计模式之原型模式定义与用法详解
- 设计模式C++实现(5)——原型模式、模板方法模式
- JAVA设计模式五--Prototype(原型模式)
- C++设计模式之原型模式(三)
- iOS 设计模式 - 原型模式
- 设计模式学习--原型
- 【设计模式 - 4】之原型模式(Prototype)
- 23种设计模式(5):原型模式
- 设计模式----原型模式
- 设计模式之我见--6 原型模式
- JAVA--原型模式(Prototype)--设计模式五
- 【java设计模式】原型模式
- 【设计模式】——原型模式
- 小话设计模式六:原型模式