iOS面試題:類簇的優缺點

類簇是Foundation框架中廣泛使用的設計模式。類簇在公共抽象超類下對多個私有的具體子類進行分組。以這種方式對類進行分組簡化了面向對象框架的公共可見體系結構,而不會降低其功能豐富度。類簇是基於抽象工廠設計模式的

常見的類簇有 NSStringNSArrayNSDictionary等。 以數組爲例:不管創建的是可變還是不可變的數組,在alloc之後得到的類都是 __NSPlaceholderArray。而當我們 init 一個不可變的空數組之後,得到的是 __NSArray0;如果有且只有一個元素,那就是 __NSSingleObjectArrayI;有多個元素的,叫做 __NSArrayIinit 出來一個可變數組的話,都是 __NSArrayM

優點

  • 可以將抽象基類背後的複雜細節隱藏起來。
  • 程序員不會需要記住各種創建對象的具體類實現,簡 化了開發成本,提高了開發效率。
  • 便於進行封裝和組件化。
  • 減少了 if-else 這樣缺乏擴展性的代碼。
  • 增加新功能支持不影響其他代碼。

缺點

  • 已有的類簇非常不好擴展。

我們運用類簇的場景

a. 出現 bug 時,可以通過崩潰報告中的類簇關鍵字,快速定位 bug 位置。

b. 在實現一些固定且並不需要經常修改的事物時,可以高效的選擇類簇去實現。

  • 針對不同版本,不同機型往往需要不同的設置,這時可以選擇使用類簇。
  • app 的設置頁面這種並不需要經常修改的頁面,可以使用類簇去創建大量重複的佈局代碼。

收錄於網絡,如有侵權,請聯繫小編刪除


目錄:iOS面試題大全

iOS面試題大全(上)

iOS面試題大全(中)

iOS面試題大全(下)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章