設計模式之各種介面卡

2021-12-29 20:27:13 字數 1702 閱讀 6086

7種結構型模式:介面卡模式、裝飾模式、**模式、外觀模式、橋接模式、組合模式、享元模式。其中物件的介面卡模式是各種模式的起源,我們看下面的圖:

介面卡模式將某個類的介面轉換成客戶端期望的另乙個介面表示,目的是消除由於介面不匹配所造成的類的相容性問題。主要分為三類:類的介面卡模式、物件的介面卡模式、介面的介面卡模式。

類介面卡模式:

} adapter類繼承source類,實現targetable介面,下面是測試類:

public class adaptertest

} 這樣targetable介面的實現類就具有了source類的功能。

物件介面卡模式:

} 測試類:

介面介面卡模式:

應用場景:有時我們寫的乙個介面中有多個抽象方法,當我們寫該介面的實現類時,必須實現該介面的所有方法,這明顯有時比較浪費,因為並不是所有的方法都是我們需要的,有時只需要某一些,此處為了解決這個問題,我們引入了介面的介面卡模式,借助於乙個抽象類,該抽象類實現了該介面,實現了所有的方法,而我們不和原始的介面打交道,只和該抽象類取得聯絡,所以我們寫乙個類,繼承該抽象類,重寫我們需要的方法就行。看一下類圖:

抽象類wrapper2:

public abstract class wrapper2 implements sourceable

public void method2(){}

}

public class sourcesub1 extends wrapper2

}

public class sourcesub2 extends wrapper2

}

public class wrappertest

}

public class adaptertest

}類的介面卡模式:當希望將乙個類轉換成滿足另乙個新介面的類時,可以使用類的介面卡模式,建立乙個新類,繼承原有的類,實現新的介面即可。

物件的介面卡模式:當希望將乙個物件轉換成滿足另乙個新介面的物件時,可以建立乙個wrapper類,持有原類的乙個例項,在wrapper類的方法中,呼叫例項的方法就行。

介面的介面卡模式:當不希望實現乙個介面中所有的方法時,可以建立乙個抽象類wrapper,實現所有方法,我們寫別的類的時候,繼承抽象類即可。

設計模式之各種介面卡

7種結構型模式 介面卡模式 裝飾模式 模式 外觀模式 橋接模式 組合模式 享元模式。其中物件的介面卡模式是各種模式的起源,我們看下面的圖 介面卡模式將某個類的介面轉換成客戶端期望的另乙個介面表示,目的是消除由於介面不匹配所造成的類的相容性問題。主要分為三類 類的介面卡模式 物件的介面卡模式 介面的介...

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...

設計模式之介面卡

介面卡模式是一種結構模式,又稱為包裝模式,主要用於對不相容的介面或類實現相容轉換。介面卡模式有兩種 類介面卡 物件介面卡。類介面卡 通過繼承來實現介面卡功能 上!public inte ce ps4 public inte ce usb public class usber implements u...