美文网首页
设计模式 -- 原型模式

设计模式 -- 原型模式

作者: AndroidTony | 来源:发表于2017-10-01 20:25 被阅读6次

1 作用

使用样板对象复制出一个内部属性一致的对象;用于创建复杂或者耗时的实例;

2 使用场景

  • 1类的初始化消耗非常多的资源;
  • 2 new产生一个对象需要繁琐的数据准备或访问权限;
  • 3保护性拷贝;

3 注意事项

  • 1 构造函数不会执行
  • 2 对引用型字段默认是浅拷贝(复制一份引用),所以在返回对象时,还要另外调用引用对象的clone函数赋值之后才能返回,进行深拷贝,以避免操作副本时影响原始对象的问题。
  • 3 使用clone()函数构造实例并不一定 比new操作速度快,所以只有在new构造对象较为耗时或者成本较高时,才使用clone()函数来提升效率。
  • 4 String类型是一个特殊情况,虽然是引用类型,但是不会出现相互影响的问题。

4 案例

Arrraylist的clone,android中intent的clone(传入原始intent逐个赋值的方式)。

相关文章

网友评论

      本文标题:设计模式 -- 原型模式

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