Android中的MVP:
MVP模式是MVC模式在Android上的一种变体,要介绍MVP就得先介绍 MVC。在MVC模式中,Activity应该是属于View这一层。而实质上,它既承担 了View,同时也包含一些Controller的东西在里面。这对于开发与维护来说不 太友好,耦合度大高了。把Activity的View和Controller抽离出来就变成了View 和Presenter,这就是MVP模式。 按照MVC的分层,Activity和Fragment(后面只说Activity)应该属于View 层,用于展示UI界面,以及接收用户的输入,此外还要承担一些生命周期的工 作。Activity是在Android开发中充当非常重要的角色,特别是TA的生命周期的 功能,所以开发的时候我们经常把一些业务逻辑直接写在Activity里面,这非常 直观方便,代价就是Activity会越来越臃肿,超过1000行代码是常有的事,而且 如果是一些可以通用的业务逻辑(比如用户登录),写在具体的Activity里就意 味着这个逻辑不能复用了。如果有进行代码重构经验的人,看到1000+行的类 肯定会有所顾虑。因此,Activity不仅承担了View的角色,还承担了一部分的 Controller角色,这样一来V和C就耦合在一起了,虽然这样写方便,但是如果 业务调整的话,要维护起来就难了,而且在一个臃肿的Activity类查找业务逻辑 的代码也会非常蛋疼,所以看起来有必要在Activity中,把View和Controller抽 离开来,而这就是MVP模式的工作了。 MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成 Presenter接口,Model类还是原来的Model。 分离了视图逻辑和业务逻辑,降低了耦合 Activity只处理生命周期的任务,代码变得更加简洁 视图逻辑和业务逻辑分别抽象到了View和Presenter的接口中去,提 高代码的可阅读性 Presenter被抽象成接口,可以有多种具体的实现,所以方便进行单 元测试 把业务逻辑抽到Presenter中去,避免后台线程引用着Activity导致 Activity的资源无法被系统回收从而引起内存泄露和OOM 创建MVP模式项目
安装:
在setting 的plugin选项搜索安装MVPHelper
使用:
1.创建一个包presenter
2.写一个类Presenter (Presenter必写大小写也不能错)使用快捷键 Alt + Insert,记得自己创建一个View包!