第十一章 设计模式

六大设计原则

单一职责原则:一个类只负责一件事

开闭原则: 对修改关闭,对扩展开放

接口隔离原则:使用多个专门的协议,而不是一个庞大臃肿的协议,iOS系统的UITableView的数据和代理协议分开

依赖倒置原则:抽象不应该依赖于具体实现,具体实现可以依赖于抽象

里氏替换原则:父类可以被子类无缝替换,且原有功能不受任何影响,iOS系统 的 KVO 机制遵守了这一原则,当调用 addObserver 方法时,因为系统在动态运行时为我们创建了一个子类,直观感受是仍然使用的是父类,实际上系统已经替换为创建的子类,所以KVO 机制 不但使用了管擦这模式,并且遵从了 里氏替换原则

迪米特法则: 一个对象应对其他对象有尽可能少的了解,平时所说的高内聚,低耦合

常用设计模式

责任链

有三个业务分别为A/B/C,以前的调用顺序为 A -> B -> C ,现在顺序有调整,

定义某一个类,有一个成员变量他的类型跟原有类类型一致,组成一个责任链,让处理具体业务的责任者去处理

桥接模式

业务解耦的问题:同一个列表和多套数据显示,多套数据通过后端来控制是共存,

类构成

抽象类A ——> class B

适配器模式

一个现有类需要适应变化的问题, 年代比较久远的类或者对象

类构成

  • 对象适配
  • 类适配

单例模式

命令模式

行为参数化

降低代码重合度