美文网首页Java设计模式
设计模式之原型模式(Prototype Pattern)

设计模式之原型模式(Prototype Pattern)

作者: 杨斌_1024 | 来源:发表于2020-05-10 12:51 被阅读0次

概述

The prototype pattern helps if objects are expensive to create and new objects will be similar to existing objects.

如果创建一个对象代价高,并且新对象和存在的对象相似,那么原型模式会帮助到你。

原型模式是用来创建重复对象的,并且不影响性能。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。

作用

主要用途在于克隆对象

应用实例

本文类图

要实现复制对象,应该在类上实现Cloneable接口。

关键代码

我们使用ProtoTypeContext来存储实例对象和获取克隆对象。此类是便于方便理解所写。

ProtoTypeContext获取克隆对象

编写TestCloneShape,用于测试克隆

TestCloneShape类

值得一提的是,使用clone()进行克隆,super.clone()是浅拷贝(Shallow Copy),也就是说基本数据类型、字符串类型的属性会进行值传递,引用传递数据类型的属性会进行引用传递。请移步浅拷贝和深拷贝(Shallow Copy and Deep Copy)了解详情。

本文代码GitHub地址

参考资料

菜鸟教程原型模式

Prototype写法

相关文章

网友评论

    本文标题:设计模式之原型模式(Prototype Pattern)

    本文链接:https://www.haomeiwen.com/subject/phwknhtx.html