MVP介绍

作者: 你weixiao的时候很美 | 来源:发表于2018-04-24 15:36 被阅读27次

这里介绍MVP架构,我看了几篇文章,MVP解释的不清晰,上一篇中大佬的文章解析的比较可信

浅谈 MVC、MVP 和 MVVM 架构模式 这篇大佬的文章

1.MVP和MVC的比较

MVP 架构模式是 MVC 的一个变种,MVC 与 MVP 之间的区别其实并不明显。

两者之间最大的区别就是 MVP 中使用 Presenter 对视图和模型进行了解耦,它们彼此都对对方一无所知,沟通都通过 Presenter 进行。

MVP 中的视图必须要将对应的事件代理给 Presenter 执行,MVC中一般都是Controller。

2. 被动视图

MVP有两种常见的模式:Passive View 和 Supervsing Controller。

被动视图(Passive View):顾名思义,在该变种的架构模式中,视图层是被动的,它本身不会改变自己的任何的状态,所有的状态都是通过 Presenter 来间接改变的

  • 当视图接收到来自用户的事件时,会将事件转交给 Presenter 进行处理;
  • 被动的视图向外界暴露接口,当需要更新视图时 Presenter 通过视图暴露的接口更新视图的内容;
  • Presenter 负责对模型进行操作和更新,在需要时取出其中存储的信息;
  • 当模型层改变时,可以将改变的信息发送给观察者 Presenter;

在 MVP 的变种被动视图中,模型的操作以及视图的更新都仅通过 Presenter 作为中间人进行。

2. 监督控制器

与被动视图中状态同步都需要显式的操作不同,监督控制器(Supervising Controller)就将部分需要显式同步的操作变成了隐式的:
监督控制器中,视图层接管了一部分视图逻辑,主要内容就是同步简单的视图和模型的状态。

相关文章

  • MVP介绍

    这里介绍MVP架构,我看了几篇文章,MVP解释的不清晰,上一篇中大佬的文章解析的比较可信 浅谈 MVC、MVP 和...

  • MVP介绍

    什么是MVP? MVP代表Model,View和Presenter。 View层负责处理用户事件和视图部分的展示。...

  • MVP介绍

    1.前言 近些年来,Android架构模式有很多,我们比较熟知的有MVC,MVP以及MVVM,目前Android...

  • MVP框架学习

    一、MVP介绍 二、为什么使用MVP模式 三、MVP与MVC的异同 四、使用MVP实现Android的登录的Dem...

  • MVP篇三,MVP模式在Android上的应用

    1、MVP模式的基本介绍 参见: MVP模式1,MVP模式的原理 http://www.jianshu.com/p...

  • Android框架模式——MVP

    1. MVP介绍 MVP全名是Model-View-Presenter,MVP 是从经典的模式MVC演变而来的。 ...

  • Android框架模式——MVP

    1. MVP介绍 MVP全名是Model-View-Presenter,MVP 是从经典的模式MVC演变而来的。 ...

  • 如何更高效的使用MVP以及官方MVP架构解析

    Android mvp 架构的自述中简单的介绍了mvp,以及怎么写mvp。我自己也将mvp运用到了项目中,其实mv...

  • 如何更高效的使用MVP以及官方MVP架构解析

    Android mvp 架构的自述中我简单的介绍了mvp,以及怎么写mvp。我自己也将mvp运用到了项目中,其实m...

  • flutter-mvp架构

    flutter_mvp 项目介绍 该项目为flutter的mvp的基础架构,主要封装了mvp基础类,使用dio进行...

网友评论

      本文标题:MVP介绍

      本文链接:https://www.haomeiwen.com/subject/rnmdlftx.html