MVP速记

简单做个记录,无他

What

  • 衍变自MVC
  • 但是需要澄清的是,MVP不是一种架构模式,仅仅是用来处理表现层。
  • 表现层与逻辑层分离,so that everything about how the interface works is separated from how we represent it on screen.

Why

  • MVP使得view独立于数据源.
  • 使得大多数的逻辑从activity中提取出来。

How

View:

  • 通常是由activity/fragment来实现。
  • 包含一个presenter的引用,也就是会创建一个presenter的objcet。
  • View唯一需要做的就是每次有用户对view操作的时候,调用Presenter相应的接口。

Model:

  • 通往domain layout或者business layer的入口。
  • 可以理解为将要在view层展示的数据的提供者。

Presenter:

  • M与V的中间桥梁。
  • 从M获取数据并format后传递给view。
  • 响应V中的事件,然后决定如何处理。

Reference