iOS設計模式 - 原型
原理圖
說明
1. 原型模式指的是從一個已有的對象複制并建立出新的對象
2. 當一個類的執行個體之間存在差異,而這些差異僅是狀态的若幹組合,複制原型要比手工執行個體化更加友善
3. 當一個類并不容易建立(比如有着複雜的組合對象),且複制已有的組合對象要比對副本修改更加容易,此時,可以考慮使用原型模式
源碼
<a href="https://github.com/YouXianMing/iOS-Design-Patterns" target="_blank">https://github.com/YouXianMing/iOS-Design-Patterns</a>
分析
抽象基類遵循了複制協定并實作了基本複制功能
執行個體化的類通過繼承抽象基類來繼承複制功能
* 進行字典和數組的深層次拷貝
* 數組與字典已完成了深層次拷貝
數組中的對象(或者字典中的對象)在實作拷貝時,也是需要實作NSCopying協定的,也可以繼承實作了NSCopying協定的基類