對於大項目,大公司,人員不少的話,很是不錯,模塊清楚,分工明確.
對於小項目,小公司,我的獨立開發,那就很不友好了
複製代碼
一我的寫起來會感受代碼很是很是多,很繁瑣,簡直坑爹. 費時間的地方以下:git
寫完界面還得想好view接口有哪些方法, presenter會有哪些方法 modle比較好解決,基本就是一些網絡請求接口(若是用retrofit的話)github
若是用mvc,那麼只要寫好baseactivity和basefragment, 但用mvp,就得多些東西了:bash
BaseView
BasePresenter
BaseFragmentView,BaseActivityView 等等
複製代碼
好比我要在fragment的presenterImpl中拿到FragmentManager來作一些事 這是我一開始沒想到的 那麼我就得在對應view中添加getFragmentmanager()的方法 而這個方法其實應該放到BaseFragmentView接口中. 而base類通常是不容許隨便改的網絡
好比我如今在BasePresenter裏面寫了onCreate(),onDestroy() 來對應相應fragment,activity的onCreate(),onDestroy() 若是之後須要用其餘生命週期了,同上就得加接口.mvc
一個頁面至少須要:1個activity/fragment,1個presenterImpl,1個contract,1個modleImpl,1個bean,5個類, 而mvc只須要:1個activity/fragment,1個bean,完事了... 假如1個app的界面是30個的話,mvp會有150個類.而用mvc就60個app
附上github的mvp示例: mvpDempspa