iOS面试题:类簇的优缺点

类簇是Foundation框架中广泛使用的设计模式。类簇在公共抽象超类下对多个私有的具体子类进行分组。以这种方式对类进行分组简化了面向对象框架的公共可见体系结构,而不会降低其功能丰富度。类簇是基于抽象工厂设计模式的

常见的类簇有 NSStringNSArrayNSDictionary等。 以数组为例:不管创建的是可变还是不可变的数组,在alloc之后得到的类都是 __NSPlaceholderArray。而当我们 init 一个不可变的空数组之后,得到的是 __NSArray0;如果有且只有一个元素,那就是 __NSSingleObjectArrayI;有多个元素的,叫做 __NSArrayIinit 出来一个可变数组的话,都是 __NSArrayM

优点

  • 可以将抽象基类背后的复杂细节隐藏起来。
  • 程序员不会需要记住各种创建对象的具体类实现,简 化了开发成本,提高了开发效率。
  • 便于进行封装和组件化。
  • 减少了 if-else 这样缺乏扩展性的代码。
  • 增加新功能支持不影响其他代码。

缺点

  • 已有的类簇非常不好扩展。

我们运用类簇的场景

a. 出现 bug 时,可以通过崩溃报告中的类簇关键字,快速定位 bug 位置。

b. 在实现一些固定且并不需要经常修改的事物时,可以高效的选择类簇去实现。

  • 针对不同版本,不同机型往往需要不同的设置,这时可以选择使用类簇。
  • app 的设置页面这种并不需要经常修改的页面,可以使用类簇去创建大量重复的布局代码。

收录于网络,如有侵权,请联系小编删除


目录:iOS面试题大全

iOS面试题大全(上)

iOS面试题大全(中)

iOS面试题大全(下)

你可能感兴趣的:(iOS面试题:类簇的优缺点)