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

设计模式--原型

作者: Sweet丶 | 来源:发表于2020-10-04 11:20 被阅读0次

这里介绍一下设计模式中的原型模式

1、由什么问题引出来的?

在开发中,我们有时需要对一个对象进行复制,然后对这个新对象来进行操作(比如:NSMutbaleArray),我们实现这个复制的操作,就是原型模式。

2. 怎么去设计这个模式?

-> 实现的效果是:在使用时,对象调用copy方法就能创建出一个与原来对象属性值相同的对象。
-> 系统提供的类中,数组、字典、字符串等系统已经实现了这个功能。

3. 自定义类设计这个模式?

我们iOS中对于一个自定义类,实现这个效果的方式就是:
-》遵守NSCoping协议,重写- (id)copyWithZone:,将自身属性赋值给新的对象。

//<NSCopying>
- (id)copyWithZone:(NSZone *)zone{
    CopyTest *obj = [[[CopyTest class] allocWithZone:zone] init];
    obj.name = self.name;
    return obj;
}

相关文章

网友评论

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

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