对于大项目,大公司,人员不少的话,很是不错,模块清楚,分工明确.
对于小项目,小公司,我的独立开发,那就很不友好了
复制代码
一我的写起来会感受代码很是很是多,很繁琐,简直坑爹. 费时间的地方以下: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