思想:使两个原本不兼容的东西都依赖于适配器后, 通过适配器让两者兼容起来;

  1. 举个例子: 手机充电要求电压在5V, 但家用电压都是220V, 于是手机充电器(适配器) 将220V电压转换为5V电压后手机才能充电(提高兼容性); 
  2. 适配器角色
    1. 23种设计模式 VOL.6: 适配器模式
    2. Source类(被适配者)
    3. Adapter类(适配器)
    4. Target类(输出类)

  • 三种适配器
  1. 类适配器
    1. 将被适配者以类的方式继承到适配器里;
    2. 23种设计模式 VOL.6: 适配器模式  23种设计模式 VOL.6: 适配器模式  23种设计模式 VOL.6: 适配器模式
  2. 对象适配器
    1. 与类适配器不同的是, 将被适配者以对象的方式聚合到适配器里(合成复用原则);
    2. 23种设计模式 VOL.6: 适配器模式  23种设计模式 VOL.6: 适配器模式
  3. 接口适配器/缺省适配器
    1. 利用抽象类在接口与实现类之间可让实现类按自己需要的方法进行重写, 避免了多余方法的出现;
      1. 举个例子: 假设接口有100个实现类, 当以后需要为接口再加个新方法时就要操作100个实现类, 有大部分的实现类是不需要这个方法的, 但没办法都要重写新方法, 这个时候缺省适配器可以用上了;
    2. 23种设计模式 VOL.6: 适配器模式  23种设计模式 VOL.6: 适配器模式  23种设计模式 VOL.6: 适配器模式

  • Java中用到的地方
  1. ​​​​​​​​​​​​​​SpringMVC框架  23种设计模式 VOL.6: 适配器模式
 

相关文章: