《java与模式》-11 适配器模式

来源:互联网 发布:杭州萨满网络 编辑:程序博客网 时间:2024/04/28 16:43

适配器模式

适配器模式把一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作;
适配器的角色有目标角色(Target)、源角色(Adaptee)、适配器角色(Adapter);

类的适配效果:

  1. 适配器是源的子类,可以在适配器中置换掉源的方法;
  2. 只引用了一个适配器类因此只有一个路线到达目标类,问题得到简化;
  3. 使用一个具体类把源适配到目标中来如果源以及源的子类都使用此类适配就行不通了(不是很理解这句话);

对象适配器效果:

  1. 一个适配器可以把多种不同的源适配到同一个目标;
  2. 与类的适配相比,想要置换方法就不容易了,要先有一个子类将源的方法置换掉,然后把源的子类当做真正的源进行适配;
  3. 置换方法不容易,但是增加新的方法很方便,且新方法同时适用于所有的源;

这里写图片描述
场景:想找一个A,但是只找到了一个B,需要用适配模式将B适配成A
例:
当想要一个 JDBC 的接口实现,但是只有 MySQL 类,那么就将 MySQL 适配成 JDBC

缺省适配器模式

适配器模式
一种平庸化的适配器模式;
如果不准备实现一个接口的所有方法,可以制造一个抽象类,给出所有方法的平庸的具体实现,从这个抽象类再继承下去的所有子类就不必实现所有的方法了。
缺省适配的实现:
缺省适配类应当是个抽象类,提供的方法应当是具体方法;
例:java.awt.event.WindowAdapter

原创粉丝点击