Java之適配器模式(Adapter Pattern)

來源:互聯網
上載者:User

1.概念:將一個介面轉換成客戶希望的另外一個介面。(該模式使得原本不相容的類可以一起工作)

2.UML圖

(1)對象的Adapter模式結構圖

(2)類的Adapter模式結構圖


3.代碼

(1)對象適配器

public interface Target {   public void Request();}public class Adaptee {    public void SpecificRequest()    {        System.out.println("這是原始標準介面!");    }}public class Adapter implements Target {    private Adaptee adapteet=null;        public void Request()     {        adapteet.SpecificRequest();    } }

(2)類適配器

public interface Target {   public void Request();}public class Adaptee {    public void SpecificRequest()    {        System.out.println("這是原始標準介面!");    }}public class Adapter extends Adaptee implements Target {    public void Request()     {        super.SpecificRequest();    }}

4.應用情境

在以下各種情況下使用適配器模式:

1.系統需要使用現有的類,而此類的介面不符合系統的需要。

2.想要建立一個可以重複使用的類,用於與一些彼此之間沒有太大關聯的一些類,包括一些可能在將來引進的類一起工作。這些源類不一定有很複雜的介面。

3.(對對象適配器而言)在設計裡,需要改變多個已有子類的介面,如果使用類的適配器模式,就要針對每一個子類做一個適配器,而這不太實際。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.