適配器模式(adapter pattern)
有的安卓開(kāi)發(fā)會(huì)問(wèn)適配器模式是不是就是listview展示列表時(shí)用到的adapter盎纬铡?的確,這里確實(shí)是adapter pattern 的思想,但到底如何解釋呢踱稍?我想談?wù)勛约旱乃伎肌?/p>
adapter pattern中文解釋如下:將一個(gè)類(lèi)的接口變換成客戶端所期待的另一種接口曲饱,從而使原本接口因接口不匹配而無(wú)法在一起工作的兩個(gè)類(lèi)能夠在一起工作。
android中使用到listview珠月、viewpager(v4)扩淀、recycleview(v7)時(shí)候都需要用到adapter,雖然他們用到的adapter不同(BaseAdapter啤挎,PagerAdapter驻谆,RecyclerView.Adapter),但是為什么都會(huì)叫adapter呢庆聘?
其實(shí)旺韭,這里叫adapter的意義是:把數(shù)據(jù)和視圖結(jié)合通過(guò)listview(viewpager(v4)、recycleview(v7))展示出來(lái)的適配器掏觉。
無(wú)論你是什么數(shù)據(jù),什么視圖值漫,都可以通過(guò)adapter適配之后傳入listview(viewpager(v4)澳腹、recycleview(v7)),只要你把數(shù)據(jù)源杨何,視圖同時(shí)傳入adapter酱塔,重寫(xiě)adapter里面的默認(rèn)方法,在調(diào)用他們都有setAdapter方法危虱。這樣就能很方便的用我們想要的樣式展示我們的數(shù)據(jù)羊娃。一個(gè)adapter同時(shí)適配了兩個(gè)東西(數(shù)據(jù)源,視圖)埃跷。真是很棒的一個(gè)設(shè)計(jì)思想蕊玷。
下面我還想談?wù)劊m配器模式在android中其他地方的提現(xiàn):
1弥雹、很多時(shí)候我們?cè)陂_(kāi)發(fā)一款app的時(shí)候垃帅,都是按照約定(接口文檔),同時(shí)進(jìn)行客戶端和服務(wù)端(接口)的開(kāi)發(fā)剪勿∶吵希客戶端和接口并行開(kāi)發(fā),會(huì)導(dǎo)致一個(gè)問(wèn)題:客戶端和服務(wù)端的對(duì)象字段大多情況是不完全統(tǒng)一的(當(dāng)然厕吉,完全按照接口文檔開(kāi)發(fā)是不會(huì)出現(xiàn)此問(wèn)題的酱固,但誰(shuí)又能保證接口文檔不做修改,或者其他等等問(wèn)題導(dǎo)致字段不統(tǒng)一問(wèn)題头朱,相信大家都會(huì)遇到過(guò))运悲。這時(shí)候我們通常會(huì)寫(xiě)一個(gè)解析方法:把服務(wù)端的對(duì)象轉(zhuǎn)成本地對(duì)象使用,該方法最好寫(xiě)成通用方法髓窜,甚至可以寫(xiě)成構(gòu)造函數(shù)扇苞,這樣就解決了字段不統(tǒng)一問(wèn)題欺殿。其實(shí)這就是一個(gè)適配器模式的體現(xiàn)。
2鳖敷、其他脖苏,待補(bǔ)充。定踱。棍潘。。