原型模式——设计模式系列

原创 2012年03月27日 23:41:34

        运用场合

        当一个类的组成比较复杂,例如包含多个组件或多个自定义类属性的时候,直接复制当前对象比从头开始创建对象要简单得多,则使用原型模式最为合适。又或者对象间的区别不大,只是几个属性不同的时候,也可以使用原型模式,前提是要继承同一个父类。

        浅复制与深复制

        浅复制——只复制对象的指针。深复制——复制对象的内容,用新的指针指向新的内容。要实现深复制,必须符合NSCopying协议,实现其方法(id)copyWithZone:(NSZone *)zone。要使用原型模式,必须使用深复制。copyWithZone方法的实现方式非常简单:

        -(id)copyWithZone:(NSZone *)zone {

                  Obj *obj = [[[self class] allocWithZone:zone] init];   //相关的初始化工作在此进行,例如initWith*

                  return obj;

      }

相关文章推荐

设计模式——原型模式

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

Android设计模式系列--原型模式

CV一族,应该很容易理解原型模式的原理,复制,粘贴完后看具体情况是否修改,其实这就是原型模式。 从java的角度看,一般使用原型模式有个明显的特点,就是实现cloneable的clone()方法。 ...
  • onceing
  • onceing
  • 2015年07月06日 16:53
  • 346

PHP设计模式系列(五):原型模式

原型模式原型对象,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式就是clone就是内存拷贝,比new的好处是创建对象快速,适合大对象创建。 原型模式与工厂模式作用类似,都...

设计模式系列课程13之【原型模式】

转自:http://blog.csdn.net/zhengzhb/article/details/7393528 定义:用原型shi

【设计模式系列】--原型模式

在前面的博文中,小编介绍了设计模式的相关知识,今天这篇博文,咱们继续来学习设计模式的相关知识,今天小编向大家介绍的模式是原型模式,还请小伙伴多多指教,小编会从什么是原型设计模式、原型模式的结构图、原型...

Android设计模式系列(10)--SDK源码之原型模式

原文链接:http://www.cnblogs.com/qianxudetianxia/archive/2012/03/02/2020355.html CV一族,应该很容易理解原型模式的原理,复制,...

常用Java设计模式系列(2)- 原型模式

在上篇文章中,我们讲述了最常见也是最简单的单例设计模式常用Java设计模式系列(2)- 单例模式 >,在这篇文章中,我们继续设计模式之旅,来讲第二个比较常见的设计模式,那就是原型模式。 什么是原型...

JAVA系列-设计模式-原型模式

定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 package Prototype; /** * 声明一个克隆自身的接口。 * @author Admin...

深入理解JavaScript系列(42):设计模式之原型模式

介绍 原型模式(prototype)是指用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象。 正文 对于原型模式,我们可以利用JavaScript特有的原型继承特性去创建...

Android设计模式系列--原型模式

CV一族,应该很容易理解原型模式的原理,复制,粘贴完后看具体情况是否修改,其实这就是原型模式。 从java的角度看,一般使用原型模式有个明显的特点,就是实现cloneable的clone()方法。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:原型模式——设计模式系列
举报原因:
原因补充:

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