设计模式 -- 原型模式

1 作用

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

2 使用场景

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

3 注意事项

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

4 案例

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 Android的设计模式系列文章介绍,欢迎关注,持续更新中: Android的设计模式-设计模式的六大原则一...
    四月葡萄阅读 10,916评论 4 10
  • 定义 原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建...
    步积阅读 5,397评论 0 2
  • 原型模式 介绍 在许多面向对象的应用程序中,有些对象的创建代价过大或者过于复杂。要是可以重建相同的对象并作轻微的改...
    666真666阅读 3,339评论 0 2
  • 1.原型模式的定义及使用场景定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象使用场景:类初始化需...
    GB_speak阅读 2,463评论 0 0
  • 就算是一万株桃树, 开花于同一个时刻, 一样地生活着, 昨日的你与昨日的我。 我欣赏你的美丽, 愿你的美与桃花的艳...
    唯一还是我阅读 1,792评论 0 0

友情链接更多精彩内容