java design pattern - adapter pattern

場景

在編程中咱們常常會遇到驢頭不對馬嘴的狀況,好比之前是繼承A的接口的對象,如今外部調用的時候須要該對象已B接口的形式來調用
,這個時候咱們能夠讓對象同時集成A和B接口來達到目的,不過,這樣又違反了開閉原則,這個時候咱們能夠使用適配器模式來達到目的。java

適配器模式

適配器模式是一種結構模式,能夠幫助咱們把對象以不一樣的接口方式來調用。主要由3個角色組成:編程

  • Target 外部調用要求的接口方式
  • Adapter 中間用來協調的適配器
  • Adaptee 原始對象設計模式

    首先,咱們讓Adapter繼承實現Target接口,其次在Adapter中構造Adaptee對象,而後在Target方法中調用Adaptee中相應的方法。過程很是簡單。ide

adapter pattern

下面是適配器模式的一個簡單實現:this

public interface Target {
    void request();
 大專欄  java design pattern - adapter pattern}
public class Adaptee {
    public void doSomething() {
        System.out.println("Adaptee doSomething!!!");
    }
  }
public class Adapter implements Target {
    private Adaptee adaptee;

    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    @Override
    public void request() {
        this.adaptee.doSomething();
    }
  }
public class Test {
    public static void main(String[] args) {
        Target target = new Adapter(new Adaptee());
        target.request();
    }
  }

總結

適配器是一種很是簡單的設計模式,通常是用來在後期調用時發現對象的接口不匹配的時候使用,至關於一種「補充」的手段
在雙方都不太容易修改的時候能夠使用適配器模式。

參考資料

Adapter pattern設計

Design Patterns - Adapter Pattern3d

相關文章
相關標籤/搜索