七 设计模式之原型模式

原创 2011年01月20日 23:30:00

定义    用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象

类图

优点

1.       性能优良  原型模式是在内存二进制流的拷贝,要比直接new一个对象性能好很多,特别是要在一个循环内产生大量对象时

2.       逃避构造函数的约束  直接在内存中拷贝,构造函数不会执行

使用场景

1.       资源优化场景           类初始化需要消耗非常多的资源时

2.       性能和安全要求的场景  

注意事项

1.       clone方法产生新对象时,构造函数不会被执行

1.       浅拷贝/深拷贝 浅拷贝指使用clone方法时只拷贝本对象,其对象内部的数组,引用对象(String 除外)都不拷贝,还是指向原生对象的内部元素地址。深拷贝之后,两个对象不再有任何瓜葛,对其中任何一个修改都将不会影响另一个

浅拷贝

 

深拷贝   代码如上

3.       Clonefinal  要使用clone()方法,则类的成员变量不能增加final关键字

 

 

 

设计模式(二)单例模式的七种写法

面试的时候,问到许多年轻的Android开发他所会的设计模式是什么,基本上都会提到单例模式,但是对单例模式也是一知半解,在Android开发中我们经常会运用单例模式,所以我们还是要更了解单例模式才对。...
  • itachi85
  • itachi85
  • 2016年01月17日 10:29
  • 23746

JAVA设计模式之原型模式

定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 类型:创建类模式 类图: 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype...
  • jason0539
  • jason0539
  • 2014年04月08日 08:22
  • 14775

iOS设计模式之原型模式

What is the 原型模式?原型设计模式是通过一个原型拷贝的方式快速创建一个新的对象。拷贝分为两种: 浅拷贝(同一个地址,不同的指针) 深拷贝(不同的地址,完全的独立) 二者区别在于是否生成新的...
  • IT_DS
  • IT_DS
  • 2016年04月24日 20:27
  • 2261

设计模式之原型模式

  • 2017年08月24日 13:41
  • 32KB
  • 下载

设计模式——原型模式

  • 2013年08月11日 16:47
  • 4KB
  • 下载

C#设计模式--原型模式

  • 2017年02月21日 18:43
  • 28KB
  • 下载

Android设计模式原型模式应用简单Demo

  • 2016年02月03日 00:45
  • 1.22MB
  • 下载

设计模式的原型模式的例子

  • 2011年12月21日 11:00
  • 1KB
  • 下载

[设计模式整理笔记 七] 原型模式(ProtoType)

简单点理解原型模式的含义, 就是把一个对象复制出另一个对象, 但二个对象是独立的, 但原对象里面值在新对象里面也要存在, 一个是原对象, 一个是新对象, 注意原型模式里面, 必需是二个对象同时出现。 ...
  • s1102379635
  • s1102379635
  • 2012年09月12日 11:11
  • 496

大话设计模式读书笔记(七) 原型模式

原型模式(Prototype): 书中通过小菜要去面试,需要打印简历。而引出了需求。 需要小菜写一份简历类,要求有姓名,年龄,性别。可以设置工作经历,并且需要三份简历。 未使用设计模式代码: pack...
  • xsyfl
  • xsyfl
  • 2017年04月08日 17:31
  • 114
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:七 设计模式之原型模式
举报原因:
原因补充:

(最多只允许输入30个字)