##MVC分層
>View層:對(duì)應(yīng)于布局文件
>Model層:業(yè)務(wù)邏輯和實(shí)體類
>Controller層:對(duì)應(yīng)于Activity,但是View層對(duì)應(yīng)的布局文件可以做的事情很少,實(shí)際上數(shù)據(jù)的綁定,事件的處理都是在Activity中完成的,這樣導(dǎo)致Activity看起來(lái)像View層又想Controller層,導(dǎo)致Activity中的代碼很臃腫
##MVP分層
>View層:Activity,布局文件,負(fù)責(zé)布局繪制以及與用戶交互.
>Model層:業(yè)務(wù)邏輯與實(shí)體類
>Presenter層:是View層與Model層之間的橋梁
總結(jié):Android本身就是采用的MVC模式,對(duì)于很多Android初學(xué)者可能會(huì)有這樣的經(jīng)歷污淋,寫代碼的時(shí)候,不管三七二十一都往Activity中寫余掖,當(dāng)然我當(dāng)初也是這么干的寸爆,根本就沒(méi)有什么框架的概念,只要能實(shí)現(xiàn)某一個(gè)功能就很開心了浊吏,沒(méi)有管這么多而昨。當(dāng)然項(xiàng)目比較小還好,一旦項(xiàng)目比較大找田,你會(huì)發(fā)現(xiàn)歌憨,Activity所承擔(dān)的任務(wù)其實(shí)是很重的,它既要負(fù)責(zé)頁(yè)面的展示和交互墩衙,還得負(fù)責(zé)數(shù)據(jù)的請(qǐng)求和業(yè)務(wù)邏輯之類的工作务嫡,相當(dāng)于既要打理家庭,又要教育自己調(diào)皮的孩子漆改,真是又當(dāng)?shù)之?dāng)媽心铃。。挫剑。,那該怎么辦呢去扣?這時(shí)候Presenter這個(gè)繼父來(lái)到了這個(gè)家庭。Presenter對(duì)Activity說(shuō)樊破,我來(lái)了愉棱,以后你就別這么辛苦了,你就好好打理好View這個(gè)家哲戚,我專門來(lái)負(fù)責(zé)教育Model這孩子奔滑,有什么情況我會(huì)向你反映的。這時(shí)Activity流下了幸福的眼淚顺少,從此朋其,Model王浴、View(Activity)、Presenter一家三口過(guò)上了幸福的生活梅猿。氓辣。。由于Presenter(我們自己建的類)的出現(xiàn)袱蚓,可以使View(Activity)不用直接和Model打交道筛婉,View(Activity)只用負(fù)責(zé)頁(yè)面的顯示和交互,剩下的和Model交互的事情都交給Presenter做癞松,比如一些網(wǎng)絡(luò)請(qǐng)求、數(shù)據(jù)的獲取等入蛆,當(dāng)Presenter獲取到數(shù)據(jù)后再交給View(Activity)進(jìn)行展示响蓉,這樣,Activity的任務(wù)就大大減小了哨毁。