適配器模式的介紹
適配器模式是將兩個不兼容的類融合在一起,它有點像粘合劑,將不同的東西轉(zhuǎn)換使它們能夠在一起工作。在Android開發(fā)中適配器模式是很常見的,比如ListView、GridView、RecyclerView都需要使用Adapter。
適配器模式又分兩種
- 類適配器模式:類適配器模式是通過實現(xiàn)Target接口以及繼承Adaptee類來實現(xiàn)接口轉(zhuǎn)換。如圖:
類適配器模式類圖.jpg
-
對象適配器模式:對象適配器模式把被適配的類的API轉(zhuǎn)換成為目標(biāo)類的API,與類適配器模式不同的是,對象適配器模式不使用繼承關(guān)系連接到Adaptee,而是使用代理關(guān)系。如圖:
對象適配器模式類圖.jpg
我們平時使用的RecyclerView的Adapter(把數(shù)據(jù)list傳入Adapter中),就屬于對象適配器模式。
適配器模式的使用場景
- 系統(tǒng)需要使用現(xiàn)有的類,而此類的接口不符合系統(tǒng)的需要,即接口不兼容。
- 需要一個統(tǒng)一的輸出接口,而輸入端的類型不可預(yù)知。
- 想要建立一個可以重復(fù)使用的類,用于與一些彼此之間沒有太大關(guān)聯(lián)的類,包括一些可能在將來引進的類一起工作。
適配器模式中的角色
- Target:目標(biāo)角色,也就是所期待得到的接口。該角色定義所需要的方法。
- Adaptee:現(xiàn)在需要適配的接口。(平時寫列表適配器所需要的集合數(shù)據(jù))
- Adapter:適配器角色。適配器把源接口轉(zhuǎn)換成目標(biāo)接口。
這個模式天天寫(列表適配器),暫時就寫這么多,以后自己寫出新寫法了再來補充。
適配器模式類圖.jpg