一、寫在前面

     講道理,這次是真的筆者很久都沒有更新blog了,主要最近維護的框架問題也是層出不窮,而且對技術交流群的解答也讓我身心疲憊,所以在這里跟關注我的人說聲抱歉,沒有定期給你們帶來福利,那么這里就給大家?guī)硪粋€重磅福利:愛吖妹紙——Retrofit & RxJava & MVP & Butterknife 的完整App.

     講到最近讓我身心疲憊的問題解答,無疑是讓我在開源的路上越走越遠,雖然我不是技術大牛,卻依然被一些很簡單的問題輪番轟炸,其實筆者的內(nèi)心真的是拒絕的。不得不說,寫給技術群內(nèi)的你和群主,為什么你提問,而總沒人回你!寫的挺好。

回到頂部

二、概述

     廢話也不多說,對于MVP(Model View Presenter),我相信大多數(shù)人都能說出一些的,“MVC的演化版本”,“讓Model和View完全解耦”等等,但用過MVP的人一定會覺得,在Android中,代碼很清晰,不過多了很多類。對于大多數(shù)人而言,在看MVP的Demo的時候,一眼便是慢慢的nice,然而讓自己來寫個例子,卻很頭疼寫不出來。但的確MVC模式寫起來更加像是順水推舟。只需要把自己的業(yè)務邏輯一股腦的放進Activity就成功完事兒。

     不得不說,之前我們項目中的確也是用的MVC在編寫的。很簡單的會發(fā)現(xiàn)隨便一個Activity代碼都是幾百上千行,甚至還有一萬行以上的??雌饋淼拇_那么一回事兒,但是細想這個View對于布局文件,其實能做的事情特別少,實際上關于該布局文件中的數(shù)據(jù)綁定的操作,事件處理的操作都在Activity中,造成了Activity既想View又像Controller,鄙棄代碼上的不美觀來說,對于后面的閱讀代碼真的是吃力。

     不信?你瞧瞧。

     也許業(yè)務邏輯比較簡單的功能用MVC沒什么,但是想沒想過,如果你產(chǎn)品后面改需求怎么辦?是的,你接受產(chǎn)品需求的強奸,但還是只有忍辱偷生。在日