mvp开发模式是什么意思(半分钟了解mvp模式)

   2023-01-31 互联网0
核心提示:MVC 模式 Model-View-Controller ,模型-视图-控制器模式 Model:针对业务模型,建立的数据结构,Model 与 View 无关,而与业务有关。 View:Android 中一般采用 XML 文件描述。

mvp开发模式是什么意思(半分钟了解mvp模式)

MVC 模式

Model-View-Controller ,模型-视图-控制器模式

Model:针对业务模型,建立的数据结构,Model 与 View 无关,而与业务有关。 View:Android 中一般采用 XML 文件描述。 Controller:Android 中通常在 Activity,Fragment 中处理。

MVC 整体的实现过程可以概括为:

Controller 来操作 Model并将结果返回给 View 展示

一图胜前言.png

从图上可以看出 MVC 模式的缺点是 View 定义不够清晰,xml 文件属于 View 但是 Activity 、Fragment 中也有 View 的操作,为了解决这个问题,因此出现了 MVP 模式。

MVP 模式

Model-View-Presenter,是 MVC 的演化版本。

Model:主要提供数据的存取功能 View:Android 中一般是 Activity,Fragment,xml 文件 Presenter:作为 View 和 Model 之间的桥梁。

MVP 整体的实现过程可以概括为:

Model 定义好存取接口,Presenter 通过接口调用 Model 中的接口获取到结果,最后通过 View 接口去展示具体 View

image.png

从上图可以看出 MVP 解决了 MVC 中 View 定义不清晰的问题,同时划清了 Model 和 View 的界限,View 不能直接访问 Model,Model 也是不能直接访问 View。

MVP 的处理大部分都是通过接口去实现的,这也会导致代码的逻辑层级较深,所以又出现了一个架构模式 MVVM。

MVVM 模式

了解的不是很深入,写的可能有误,参考即可。

Model-View-ViewModel,和 MVP 类似,但是使用 ViewModel 替换了 Presenter 。

ViewModel :View 和 Model双向绑定,View 发生改变后 ViewModel 会通知 Model 跟随改变,同理 Model 改变 ViewModel 也会通知 View 跟随改变。

image.png

MVVM 虽然解决了 MVP 中代码层级深度过深问题,但是需要使用 DataBinding,代码层面也不易理解。

假装总结一下

在实际开发中,采用 MVP 模式已经足够了,虽然类文件会变多一些,但是能够降低代码之间的偶尔同时便于维护,这就够了。

对于 MVP 的学习,入门例子推荐 谷歌 GitHub 上的 TODO-MVP 例子。

如果想深入可以再把 TODO 系列看完,听说 MVP + RxJava + Dagger2 很香?

 
标签: 模式 层级 接口
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与爱美生活网(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 海尔空调健康模式费电吗(海尔空调实验室模)
    海尔空调健康模式费电吗(海尔空调实验室模)
    海尔空调健康模式很省电,且比制冷模式省电。海尔空调省电使用方法;先用制冷,再用健康模式。海尔空调介绍如下;1、海尔空调成立于1985年,历经多年发展,已成为中国空调行业的引领者。2013年6月,世界影响力组织发布的全球家电市场调查研究指数将
  • bs架构是几层架构(简述bs模式的基本结构 )
    bs架构是几层架构(简述bs模式的基本结构 )
    C/S架构和B/S架构: C/S(Client/Server)结构分为客户端和服务端两部分。服务端存储数据库内容,并在客户端上安装相应软件。C/S 结构按照架构分为双层结构和三层结构。 双层结构中的表示层和业务逻辑层部署在客户端,主要提供用
  • 亚马逊物流标准是多少(亚马逊物流运作模式是什么)
    亚马逊物流标准是多少(亚马逊物流运作模式是什
    近期,国际运费持续上涨,下半年旺季即将到来,运费和仓储都会再涨。亚马逊还要对卖家的销售佣金和物流配送费进行上调,经营可真的是愈发艰难。 物流费用虽然无可避免,挑选、包装和运输都是成本。但你选择的方式可能会在成本方面产生很大差异。今天给大家讲
  • 淘宝b2c(淘宝是b2c电子商务吗)
    淘宝b2c(淘宝是b2c电子商务吗)
    互联网发展的今天,涌现出多种电商模式。经常听到有人说我做的C端平台,他做的B端业务,那么这些电商模式具体是怎样的呢?今天小编带大家了解一下常见的电商模式缩写术语。C端是“Consumer (消费者)”的缩写,可以理解成零售端的意思,货品直接
  • 塞尔达大师模式怎么开(大师游戏模式登陆)
    塞尔达大师模式怎么开(大师游戏模式登陆)
    塞尔达大师模式开启方法:玩家需要购买DLC,然后游戏版本更新到最新,就可以在游戏初始界面选择“使用大师模式进行游戏”,切换到大师模式后,点击从头开始就进入大师模式了。《塞尔达传说旷野之息》是任天堂游戏公司出版发行的开放世界动作冒险游戏。20
  • 海尔空调智能工作模式是什么意思
    海尔空调智能工作模式是什么意思
    海尔空调智能工作模式:是指空调自动检测室内空气情况,如果二氧化碳的含量过高的话自动启动换新风功能,如果室内人比较多,会自动增加设定温度,如果室内没有人会自动进入休眠模式。开启智能功能,空调自动进行智能调温、智能静音、智能调速、智能除湿、智能
  • 什么是盈利模式分析(盈利模式分析方法有哪些)
    什么是盈利模式分析(盈利模式分析方法有哪些)
    盈利模式构成9大模块:① 客户细分:客户细分是用来描述一家企业想要接触或服务的不同人群或组织。客户构成了盈利模式的核心。没有客户,就没有企业可以长久存活。为了更好的满足客户,企业可能把客户分为不同的细分领域,每个细分领域的客户具有共同的需求
  • 什么是适配器设计模式
    什么是适配器设计模式
    适配器模式:将一个接口转换为客户端的另一个接口,使得原本由于接口不相容的两个类别可以相互配合的一起工作。主要是起一个转换器的作用,目的就是复用原来的功能。又称为转换器模式、变压器模式、包装模式;包装模式即把已有的一些类包装起来,使之能有满足
  • 高压锅煮绿豆汤用什么模式哪个档 高压锅煮绿豆汤的档位介绍
    高压锅煮绿豆汤用什么模式哪个档 高压锅煮绿豆
    1、高压锅煮绿豆汤一般用煮粥、煲汤以及其他模式就可以了,煮十五到二十分钟就能熟。2、高压锅煮绿豆汤用什么 绿豆汤是生活中比较常见的一种甜汤,它的喝法比较多,一般都是直接喝的,味道清甜可口,可以清热解暑,很多人都会用高压锅煮绿豆汤。3、高压锅
  • 小白心里软,塑造短保烘焙食品行业营销新模式
    小白心里软,塑造短保烘焙食品行业营销新模式
    互联网时代,不缺一夜爆红的人。品牌爆红也是如此,长久吸引消费者购买才是正确之道。近些年,消费者对烘焙食品的认知度不断提升,中国烘焙市场增速迅猛,目前成为规模仅次于美国的全球第二大市场。“小白心里软”从默默无闻到爆红网络,成为短保烘焙领域的常
    02-21
点击排行