美文网首页
Adapter模式---适配器模式

Adapter模式---适配器模式

作者: 492284513d5a | 来源:发表于2019-01-17 21:00 被阅读0次
适配器模式.png

在程序世界中,经常会存在现有的程序无法直接使用,需要做适当的变换之后才能使用的情况。这种用于填补“现有的程序”和“所需的程序”之间差异的设计模式就是Adapter模式。

Adapter模式有以下两种:

- 类适配器模式(使用继承的适配器)

- 对象适配器模式(使用委托的适配器)

♦ Target( 对象)

该角色负责定义所需的方法。在示例程序中(图中的12伏特电源),由Print接口(使用继承时)和Print类(使用委托时)扮演此角色。

  1. Print接口

public interface Print{
    public abstract void printWeak();
    public abstract void printStrong();
}

♦ Client( 请求者)

该角色负责使用Target角色所定义的方法进行具体处理。在示例程序中Main类扮演此角色。

  • Main()类

public class main(){
    public static void main (String args[]){
        Print p = new PrintBanner("hello");
        p.printWeak();
        p.printStrong(); 
   }
}

♦ Adaptee( 被适配)

Adaptee是一个持有既定方法的角色(图中的100伏特电源)。在示例程序中,由Banner类扮演此角色。

  • Banner类

public class Banner{
   private String string 
   public  Banner(String string ){
       this.string = string ;
    }
   public void showWithParen(){
       System.out.println("("+string +")");
    }
   public void showWithAster(){
       System.out,println("*"+string+"*");
   }
}

♦ Adapter( 适配)

Adapter模式的主人公。使用Adaptee角色的方法来满足Target角色的需求,这是Adapter模式的目的,也是Adapter角色(图中的适配器)的作用。在示例程序中,由PrintBanner类扮演这个角色。

  • PrintBanner类

public class PrintBanner extends Banner implements Print{
    public PrintBanner(String string){
        super(string);
    }
    public abstract void printWeak(){
        ShowWithParen();
    }
    public abstract void printStrong(){
        ShowWithAster();
    }
}
委托模式
继承模式

相关文章

网友评论

      本文标题:Adapter模式---适配器模式

      本文链接:https://www.haomeiwen.com/subject/lhlwdqtx.html