定義
介面卡模式將乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作,通常用來解決介面不相容的問題。
類圖
target
目標角色
該角色定義把其他類轉換為何種介面,也就是我們期望介面。
adaptee
源角色
它是已經存在的、執行良好的類或物件,經過介面卡角色的包裝,從而轉換成目標角色。
adapter
介面卡角色
介面卡模式的核心角色,其他兩個角色都是已經存在的角色,而介面卡角色是需要新建立的,它的職責非常簡單:通過繼承或是類關聯的方式,把源角色轉換為目標角色。
實現目標角色:
目標角色的實現類:package com.sigalhu.adapterpattern;
public
inte***ce
target
源角色:package com.sigalhu.adapterpattern;
public
class
concretetarget
implements
target
}
介面卡角色:package com.sigalhu.adapterpattern;
public
class
adaptee
}
場景類:package com.sigalhu.adapterpattern;
public
class
adapter
extends
adaptee
implements
target
}
優點 注意package com.sigalhu.adapterpattern;
public
class
client
}
介面卡模式不是為了解決還處在開發階段的問題,而是解決正在服役的專案問題,該模式主要用於應用擴充套件。
原始碼:
讀書筆記14 介面卡模式
1 概念 將乙個類的介面轉換成另外乙個 使用者希望的介面,解決由於介面不相容而不能一起工作類,能一起工作。2 模型 target 客戶端希望的介面。needadapter 新增的類,沒有實現target介面。由於客戶端只認target的一系列方法,所以needadapter沒法在客戶端使用。adap...
《設計模式之禪》 介面卡模式
介面卡模式 定義 將乙個類的介面變換客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作 介面卡模式又稱為變壓器模式,也叫做包裝模式,裝飾模式也是包裝模式的一種 簡單來說,介面卡模式就是把乙個介面或類轉換成其他的介面或類 介面卡模式有三個角色 1.target目標角...
《設計模式之禪》之介面卡模式
將乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。1.target目標角色 該角色定義把其他類轉換為何種介面,也就是我們的期望介面。2.adapter源角色 你想把誰轉換成目標角色,這個 誰 就是源角色,它是已經存在的 執行良好的類或物件,經...