美文网首页程序员
iOS原型模式(拷贝模式)

iOS原型模式(拷贝模式)

作者: 卢二牛 | 来源:发表于2018-02-11 14:18 被阅读0次

原型模式:是一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的原型,这个原型是可定制的. 原型模式多用于创建复杂的或者耗时的实例, 因为这种情况下,复制一个已经存在的实例可以使程序运行更高效,或者创建值相等,只是命名不一样的同类数据.
原型模式实际意义上来说是拷贝、而且一般情况下都是深拷贝。在 iOS 中有相对应的方法 [obj copy] 实现拷贝。
iOS开发中原型模式的主要使用应用为数组字典集合
下面描绘一种原型模式的使用场景,假如有一种细菌类,有一个name属性(实际开发中可能会有许多属性),完全可以通过实例copy来进行创建。

  1. 原型模型在iOS中需要引用NSMutableCopying、NSCopying协议
  2. 实现-(id)copyWithZone:(NSZone *)zone代理方法
-(id)copyWithZone:(NSZone *)zone{
    Germ *germ = [[Germ alloc]init];
    germ.name = self.name;
    return germ;
}
  1. 怎样使用?
    Germ *germ = [[Germ alloc]init];
    germ.name = @"类型1";
    Germ *germ2 = [germ copy];
    NSLog(@"germ:%@--germ1:%@",germ,germ2);

打印效果:

germ:<Germ: 0x6040000166d0>--germ1:<Germ: 0x604000016780>

相关文章

  • iOS设计模式之原型(prototype)模式

    1、使用场景 原型模式通俗来讲就是拷贝模式,通过拷贝操作来生成一个对象的副本,从而快速生成对象。在iOS中原型模式...

  • 初始设计模式之原型模式

    原型模式是什么? 原型模式怎么用?浅拷贝深拷贝 原型模式再理解 一、原型模式是什么? ​ 原型模式是一种创建型设计...

  • 原型模式

    一、 原型模式 原型模式:用原型实指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 涉及浅拷贝与深拷贝问题。...

  • iOS原型模式(拷贝模式)

    原型模式:是一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所...

  • 设计模式之原型模式

    原型模式 原型模式(prototype)是指原型实例指向对象的种类,并且通过拷贝这些原型创建新的对象 模式作用: ...

  • 原型模式及深浅拷贝详解

    原型模式 原型模式(Prototype模式)是用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。 ...

  • 创建型模式5-原型模式

    创建型模式5-原型模式 原型模式(prototype) 意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创...

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

    1. 什么是原型模式? 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象 简单来说, 原型模式就是拷贝...

  • 原型模式C++

    原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式结构图 原型模式基本代码 原型...

  • 原型模式(2)-克隆羊

    原型模式-基本介绍 基本介绍 原型模式(Prototype模式)是指:用原型实例指定创建对象的种类,并且通过拷贝这...

网友评论

    本文标题:iOS原型模式(拷贝模式)

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