設計模式 介面卡模式

2021-07-09 17:07:52 字數 950 閱讀 9840

介面卡模式:

電壓介面卡能將220v的電壓,調整到手機充電要求的的5v電壓,所以稱之為介面卡。

1 在軟體開發過程中,如果某個模組的功能開發起來非常困難,但是此前已經有相同功能的模組存在了,只是這兩個模組的介面不一致,利用介面卡模式就能夠用目標介面封裝好已經存在的介面,降低開發的難度。介面卡模式可以實現對現有類(功能)的包裝,直接使用,而不必重新開發。

2 呼叫者和提供者都不太容易修改的情況下,使用介面卡模式。

3 介面卡模式可以通過類的組合或者類的私有繼承來實現。

類組合方式:物件介面卡

#includeusing namespace std;

class target;

target::~target()

class adaptee

private:

adaptee* padaptee;

};int main()

私有繼承方式:類介面卡

#includeusing namespace std;

class target;

target::~target()

class adaptee

effective c++中提到能用組合(分層)或私有繼承實現的話,就盡量使用組合的方式來實現。

1 採用私有繼承,如果在adaptee中新增乙個純虛函式,那麼子類adapter也要對這個純虛函式進行重定義,這樣子就增加了類的耦合。

2 私有繼承時,adapter類內無法對adaptee的子類中的方法進行呼叫。而採用類的組合方式,可以在adapter類內宣告乙個adaptee的指標,通過動態繫結的方式呼叫adaptee的子類。

所以,盡量使用類組合的物件介面卡,而不是多繼承的類介面卡。

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...

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

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

設計模式 介面卡模式

01 02 author rollen holt 設計模式之 介面卡模式 03 04 05 inte ce window 11 12 abstract class windowadapter 16 public void close 19 public void activated 22 publi...