二十三種設計模式之結構型模式之適配器模式

適配器模式

概述


將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起工作。

適用性


1.你想使用一個已經存在的類,而它的接口不符合你的需求。

2.你想創建一個可以複用的類,該類可以與其他不相關的類或不可預見的類(即那些接口可能不一定兼容的類)協同工作。

3.(僅適用於對象Adapter)你想使用一些已經存在的子類,但是不可能對每一個都進行
  子類化以匹配它們的接口。對象適配器可以適配它的父類接口。

參與者


1.Target
  定義Client使用的與特定領域相關的接口。

2.Client
  與符合Target接口的對象協同。

3.Adaptee
  定義一個已經存在的接口,這個接口需要適配。

4.Adapter
  對Adaptee的接口與Target接口進行適配

類圖


這裏寫圖片描述

例子


Target

public interface Target {

    void adapteeMethod();

    void adapterMethod();
}

Adaptee

public class Adaptee {

    public void adapteeMethod() {
        System.out.println("Adaptee method!");
    }
}

Adapter

public class Adapter implements Target {

    private Adaptee adaptee;

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

    public void adapteeMethod() {
        adaptee.adapteeMethod();
    }

    public void adapterMethod() {
        System.out.println("Adapter method!");
    }
}

Client

public class Test {

    public static void main(String[] args) {
        Target target = new Adapter(new Adaptee());
        target.adapteeMethod();

        target.adapterMethod();
    }
}

result

Adaptee method!
Adapter method!

Copyright © 2008 Angus Young
瘋狂Java聯盟:http://www.crazyit.org

發佈了10 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章