适配器模式

                                     适配器模式

简述:

 适配器模式目的是将一个接口转换成一个接口。它能将新的未实现的接口,通过旧的已实现的接口来填充。

元素结构

适配器模式主要具有调用者client,目标接口 ,适配者 和被适配者(有可能是类或者对象)

  • 调用者client
    client 主要职责就是调用目标接口方法。
  • 目标接口
    目标接口提供client调用,并未实现的接口。它的子类需要其他接口实现来填充。

  • 适配者

  • 是配置实现了目标接口,但它的实现方法需要通过被适配者来填充。
  • 旧的接口(已存在的接口)
    不解释
  • 被适配者
    被适配者实现了旧接口的类。

分类

适配器模式可分为:对象适配器 和 类适配器。
对象适配器采用的是组合的方式,适配器具有旧接口实现类的成员变量。
类适配器采用的是多重继承的方式,虽然直接使用继承很放变,但不易于扩展,基于“多组合,少继承的设计原则”,不建议才用类适配器。

流程图

流程图采用的visio 画的。不到位的地方欢迎点评。

图中与其他适配器模式流程图中多出了OldInterface ,我是根据自己的理解画的,根据适配器的定义将一个接口转换成另一个接口,所以我认为应该在类图中体现出来。

Java示例

代码使用的伪代码。
目标接口

public interface Target{

   public void targetMethod1();

   public void targetMthod2();

}

适配者

public class Adapter implements Target{

   private OldInterface adaptee;

   public Adapter(OldInterface adaptee){

       this.adaptee = adaptee;
   }

  public void targetMethod1(){
     ...
     adaptee.methodA()
     ...
  }

 public void targetMethod2(){
   ....
   adaptee.methodB();

}

client

   public class Client{

     public static void main(){

         OldInterface adaptee = new Adaptee();
         Target  adapter = new Adapter(adaptee);
         adapter.targetMethod1();
         adapter.targetMethod2();


     }

 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值