iOS设计模式浅析之原型模式Prototype

原型模式Prototype用途

1. 解决了每次创建新的对象,都需要alloc init,这样就造成了代码要直接访问具体的类,也就增加了代码的耦合度。
2. 避免创建工厂类的子类(例如抽象工厂模式)
3. 通过copy能够保存对象当时的状态

原型模式Prototype使用场景

1. 需要创建的对象不依赖于具体的类型以及创建方式
2. 具体实例化的对象类型是在运行期决定的
3. 不同类型之间的差异紧紧是状态的组合
4. 类型创建不容易,例如类型有复杂的嵌套

原型模式Prototype实现原理

  1. Swift/Objective C并不支持抽象基或者抽象方法。但是可以使用协议类似定义一个抽象的“基类”,定义通用的属性,方法,以及复制方法。
  2. 具体的类负责实现复制方法,以及公用的方法。
  3. 通过抽象基类的接口创建对象

原型模式与iOS中深浅拷贝

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1大同小异的工作周报 Sunny软件公司一直使用自行开发的一套OA (Office Automatic,办公自动化...
    justCode_阅读 1,177评论 0 3
  • 1 场景问题# 1.1 订单处理系统## 考虑这样一个实际应用:订单处理系统。 现在有一个订单处理的系统,里面有个...
    七寸知架构阅读 4,502评论 3 63
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,200评论 30 471
  • iOS设计模式 前言 可能我们在很多编写代码的时候都没有留意,其实设计模式无处不在,iOS中经典的模式我们都耳熟能...
    蔡俊宇阅读 601评论 0 0
  • 原型模式 介绍 在许多面向对象的应用程序中,有些对象的创建代价过大或者过于复杂。要是可以重建相同的对象并作轻微的改...
    666真666阅读 459评论 0 2