原型模式Prototype用途
1. 解决了每次创建新的对象,都需要alloc init,这样就造成了代码要直接访问具体的类,也就增加了代码的耦合度。
2. 避免创建工厂类的子类(例如抽象工厂模式)
3. 通过copy能够保存对象当时的状态
原型模式Prototype使用场景
1. 需要创建的对象不依赖于具体的类型以及创建方式
2. 具体实例化的对象类型是在运行期决定的
3. 不同类型之间的差异紧紧是状态的组合
4. 类型创建不容易,例如类型有复杂的嵌套
原型模式Prototype实现原理
- Swift/Objective C并不支持抽象基或者抽象方法。但是可以使用协议类似定义一个抽象的“基类”,定义通用的属性,方法,以及复制方法。
- 具体的类负责实现复制方法,以及公用的方法。
- 通过抽象基类的接口创建对象
原型模式与iOS中深浅拷贝
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。