今天有時間看了看google的官方文檔,下載todo源碼,仔細研讀了一下,以爲其思想對開發仍是有很大幫助的。我的認爲,MVP經過Activity與業務邏輯的解耦,其做爲Controller的職責更加單一。 之後增長新的功能或者修改現有功能,只須要修改Presenter的實現從而對Activity的影響很小。有人認爲將現有工程改成MVP的結構將增長不少類從而加大工做量,我的認爲這點工做量和之後維護升級相比, 這點投入仍是值得的。閒話少說, Todo的源碼在: https://github.com/googlesamples/android-architecture/tree/todo-mvp/android
我的畫了一個簡單的類圖,幫助你們理解:git
我的發現google代碼結構很是好,若是之後進行MVP實踐不妨參考相應的結構。拿addedittask來講,有二個關於UI的, AddEditTaskActivity和 AddEditTaskActivity,AddEditTaskContract 裏面包含View 和 Presenter,在我上面的類圖都有所體現。github
最後我附上我的第一次在github提交的倉庫,確定有考慮不周的地方,歡迎你們指教。google