`

适配器模式

 
阅读更多

适配器模式的组成:
1) 目标(Target)角色:定义Client 使用的接口。
2) 被适配(Adaptee)角色:这个角色有一个已存在并使用了的接口,而这个接口是需要我们
适配的。
3) 适配器(Adapter)角色:这个适配器模式的核心。它将被适配角色已有的接口转换为目标
角色希望的接口。

 

适配器模式和代理模式主要区别在于:代理模式是不改变接口命名的;而适配器模式则强调接口转换。

 

更深入的讲解请见:http://www.iteye.com/topic/262370

 

客户端接口:

public interface Operation{
      public int add(int a,int b);
      public int minus(int a,int b);
      public int multiplied(int a,int b);
}

 

 被适配角色:

public class OtherAdd{
      public int otherAdd(int a,int b){
           return a + b;
      }
}

public class OtherMinus{
      public int minus(int a,int b){
           return a - b;
      }
}

public class OtherMultiplied{
      public int multiplied(int a,int b){
           return a * b;
      }
}

 

适配器角色:

public class AdapterOperation implements Operation{
      private OtherAdd add;
      private OtherMinus minus;
      private OtherMultiplied multiplied;

      public void setAdd(OtherAdd add){
            this.add = add;
      }

      public void setMinus(OtherMinus minus){
            this.minus = minus;
      }

      public void setMultiplied(OtherMultiplied multiplied){
            this.multiplied = multiplied;
      }

      //适配加法运算
      public int add(int a,int b){
           return add.otherAdd(a,b);
      }

      //适配减法运算
      public int minus(int a,int b){
          return minus.minus(a,b);
      }

      //适配乘法运算
      public int multiplied(int a,int b){
         return multiplied.multiplied(a,b);
      }
}

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics