Android开发之MVP模式和MVC模式
2019-07-09 本文已影响0人
红与树
谷歌Android开发的Activity默认使用的就是MVC模式,activity既作为controller也作为view,model是存储的数据来源如SharedPreferences或从服务器获取的数据,这些逻辑写在controller里会导致activity很臃肿。
而MVP模式则是把activity作为单纯的view层(activity实现view展示需要的接口),把业务逻辑放在presenter层,用presenter层来链接view层和model层,view和model分离(可以方便处理model改变时view的显示变化)。具体目的如下:用户的请求首先会到达View(activity或fragment),View传递请求到特定的Presenter(即执行presenter的接口方法),Presenter从Model的接口获取数据后,再把处理结果通过View的接口传递到View。presenter里面要初始化model并且在view(activity)里注册以持有view的引用,需要注意activity销毁时要解除presenter对activity的注册引用。