上文我们学习了解了MVC框架,现在来看看更加优秀的MVP框架。
一、MVP模式 概念
- Model: 数据层. 负责与网络层和数据库层的逻辑交互.
- View: UI层. 显示数据, 并向Presenter报告用户行为.
- Presenter: 从Model拿数据, 应用到UI层, 管理UI的状态, 决定要显示什么, 响应用户的行为.
二、MVP优缺点
优点:
复杂的业务逻辑处理都在Presenter中进行处理,从而减少了Activity的臃肿。
Model层与View层完全彻底分离,修改View层不会对Model层受到影响,降低了之间的耦合性。
可将一个Presenter用于一个或多个视图,从而无需改变Presenter的业务逻辑。
Presenter层与View层的交互是通过接口来进行的,从而便于单元测试。
缺点:
由于对视图View的渲染都在Presenter中定义,所以视图View和Presenter之间的交互会过于频繁,视图若需要改变,一般Presenter也需要跟随着变更。