mvp是什么
本文已影响1.91W人
本文已影响1.91W人
mvp是什么,你知道吗?mvp指的是一种数据读取能力,还有一种说法是指在游戏中获得最高经济和人头数的玩家。mvp和mvc是不同的,mvp可以更高效的使用模型,想了解更多mvp是什么吗?一起往下看。
mvp是什么1
MVP
mvp的全称为Model-View-Presenter,Model提供数据,View负责显示,Controller/Presenter负责逻辑的处理。MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。
MVC和MVP
在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑。 在MVC模型里,更关注的Model的不变,而同时有多个对Model的不同显示,及View。所以,在MVC模型里,Model不依赖于View,但是View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。
解决MVC问题
在MVP里,Presenter完全把Model和View进行了分离,主要的程序逻辑在Presenter里实现。而且,Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View时候可以保持Presenter的不变,即重用! 不仅如此,我们还可以编写测试用的View,模拟用户的各种操作,从而实现对Presenter的测试--而不需要使用自动化的测试工具。 我们甚至可以在Model和View都没有完成时候,就可以通过编写Mock Object(即实现了Model和View的接口,但没有具体的内容的)来测试Presenter的逻辑。 在MVP里,应用程序的逻辑主要在Presenter来实现,其中的View是很薄的一层。因此就有人提出了Presenter First的设计模式,就是根据User Story来首先设计和开发Presenter。在这个过程中,View是很简单的,能够把信息显示清楚就可以了。在后面,根据需要再随便更改View,而对Presenter没有任何的影响了。 如果要实现的UI比较复杂,而且相关的显示逻辑还跟Model有关系,就可以在View和Presenter之间放置一个Adapter。由这个 Adapter来访问Model和View,避免两者之间的关联。而同时,因为Adapter实现了View的接口,从而可以保证与Presenter之间接口的'不变。这样就可以保证View和Presenter之间接口的简洁,又不失去UI的灵活性。 在MVP模式里,View只应该有简单的Set/Get的方法,用户输入和设置界面显示的内容,除此就不应该有更多的内容,绝不容许直接访问Model--这就是与MVC很大的不同之处。
mvp是什么2
优点
1、模型与视图完全分离,我们可以修改视图而不影响模型
2、可以更高效地使用模型,因为所有的交互都发生在一个地方——Presenter内部
3、我们可以将一个Presenter用于多个视图,而不需要改变Presenter的逻辑。这个特性非常的有用,因为视图的变化总是比模型的变化频繁。
4、如果我们把逻辑放在Presenter中,那么我们就可以脱离用户接口来测试这些逻辑(单元测试)
缺点
由于对视图的渲染放在了Presenter中,所以视图和Presenter的交互会过于频繁。还有一点需要明白,如果Presenter过多地渲染了视图,往往会使得它与特定的视图的联系过于紧密。一旦视图需要变更,那么Presenter也需要变更了。比如说,原本用来呈现Html的Presenter需要用于呈现Pdf,那么Presenter很有可能也需要变更。
vero moda是哪个国家的 vero moda是什么价位 vero moda为什那么贵
LPLIMvsOMG怎么暂停了?IM暂停原因是什么?
pg one最新单曲OPPOflow MV曝光 pg one OPPOflow歌词是什么
plmm是什么意思 plmm是什么梗
lvmh是lv吗 lvmh是什么品牌 lvmh旗下的品牌
mvmt手表是什么牌子 mvmt手表什么档次
make up for ever怎么读 make up for ever翻译成中文是什么
make up for ever是什么牌子 make up for ever是什么档次
makeupforever是哪个国家的 makeupforever什么档次
Makeup Revolution是什么牌子 Makeup Revolution桃心腮红试色
super fly mvp评测 这双aj对得起mvp三个字
adidas harden vol1 mvp哈登最新款什么时候发售多少钱
VeroModa是什么牌子中文名叫什么 VeroModa是什么档次
mvp是指什么 mvp是指什么意思
misbhv是什么牌子 misbhv是什么档次
makeupforever气垫唇釉400是什么颜色 makeupforever气垫唇釉400试色
新赛季NBA年度MVP是谁?魔术强森预言詹皇当选
王者荣耀mvp是什么意思:教你怎样获得全场最佳mvp
APM Monaco是哪国牌子 APM Monaco是什么材质
vetements是哪个国家的 vetements是什么品牌
venus marble是什么牌子 venus marble是哪个国家的什么档次
求婚大作战插曲MP3是什么歌 求婚大作战插曲MV曝光
nike air vapormax plus是真的吗?耐克将推出
脸上笑嘻嘻心里mmp是什么梗 脸上笑嘻嘻心里mmp是什么意思
champion是什么牌子 champion是哪个国家的 champion是潮牌吗
邓紫棋新歌倒数mv什么意思 邓紫棋倒数mv男主是谁
周杰伦新歌mv是悲剧吗 周杰伦新歌mv故事结局是什么
puma的logo是什么动物 puma的标志是什么豹
看月亮爬上来mv女主角是郑爽吗 郑爽拍张杰mv是真的吗
张艺兴最新mv女舞伴叫什么名字 张艺兴最新mv是什么歌
HPV疫苗二价四价九价区别是什么 HPV疫苗多少钱一针
puma是什么牌子多少钱 puma是哪个国家的品牌
apm monaco是什么牌子 apm monaco是奢侈品吗
mac新款唇釉Love Weapon是什么颜色 mac新款唇釉Love Weapon试色
vetements和champion联名款在哪里买 vetements和champion联名款介绍
周杰伦说好不哭MV彩蛋是什么 周杰伦说好不哭MV讲的是什么
陈情令mv为什么要收费 陈情令主题曲无羁mv什么时候下架
nike air vapormax无鞋带版发售了吗 耐克vapormax无鞋带版多少钱
vero moda是什么牌子 vero moda是什么档次
Supreme和superme区别是什么 Supreme还是superme
make up forever散粉怎么样 make up forever散粉专柜价格
puma是什么牌子怎么读?puma是什么档次?
2018nba常规赛mvp是谁