7、适配器模式(包装器模式):将一个类的接口转换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
(委托和块作为适配器)
类适配器 与对象适配器区别:
(1) 只针对单一的具体被适配者(Adaptee)类,把Adaptee适配到target;
而对象适配器 可以适配多个Apatee 及其子类;
(2) 易于重载Adaptee的子类,因为是通过直接的子类化进行地适配;
而对象适配器难以重载Adaptee的行为,需要借助于子类的对象而不是Adaptee本身;
(3) 只有一个Adaptee对象,无需额外的指针间接访问Adaptee;
而对象适配器需要额外的指针以间接访问Adaptee并适配其行为。
委托(delegate)模式就是属于对象适配器。
应用场合:已有类的接口与需求不匹配;
想要一个可复用的类,该类能够同可能带有不兼容接口的其他类协作;
需要适配一个类的几个不同子类 ,可是让每一个子类去子类化一个类适配器又不现实。那么可以使用对象适配器(委托)来适配其父类的接口
8、桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。
9、外观模式:为系统中的一组接口提供一个统一的接口。外观定义一个高层接口,让子系统更易于使用。