iOS面试知识整理 - 设计模式

92 阅读1分钟

设计模式

六大设计原则

  1. 单一职责原则

    • 一个类只负责一件事
  2. 开闭原则

    • 对修改关闭,对扩展开放
  3. 接口隔离原则

    • 使用多个专门的协议,而不是一个庞大臃肿的协议
  4. 依赖倒置原则

    • 抽象不应该依赖于具体实现,具体实现可以依赖于抽象
  5. 里式替换原则

    • KVO,父类可以被子类无缝替换,且原有功能不受任何影响
  6. 迪米特原则

    • 一个对象应当对其他对象尽可能少的了解

    • 高内聚,低耦合

责任链模式

类构成

Abstract Class - 成员变量 -> Abstract Class

业务A -> 业务B -> 业务C -> Nil

或者可以server下发,Key-value的plist,通过反射转换

UI事件传递机制就是用责任链实现的

桥接模式

类构成

多个A子类---抽象类A -实例变量-> 抽象类B---多个B子类

设配器模式

单例模式

  1. super调用
  2. 复写类方法 +allocWithZone
  3. 复写实例方法 -copyWithZone

命令模式

  1. 命令模式是什么? - 行为参数化
  2. 作用是什么?- 降低代码重合度