MVP和MVC的区别

MVP——Model-View-Presenter 所谓的mvp,即是(model-处理业务逻辑(主要是数据读写,或者与后台通信(其实也是读写数据)),view-处理UI控件,presenter-主导器,操作model和view)它是MVC模式的变种。UI是容易变化的,且是多样的,一样的数据会有N种显示方式;业务逻辑也是比较容易变化的。为了使得Application具有较大的弹性,我们期望将UI、逻辑(UI的逻辑和业务逻辑)和数据隔离开来,而MVP是一个很好的选择。
MVC是Model、View、Controller的缩写。
模型用于存储数据以及处理用户请求的业务逻辑。
视图向控制器提交数据,显示模型中的数据。
控制器根据视图提出的请求,判断将请求和数据交给那个迷行处理,处理后的有关结果交给哪个视图更新显示。
其中Android的MVP是又MVC优化衍生出来的一种模式,MVP将MVC中的Controller层进行了优化而生成了Presenter。Presenter层和MVC的Controller一样,负责核心逻辑,但不一样的是Presenter通过接口协议进行数据传递,并阻断了View和Model的直接联系,从而使View和Model更加专注于自身业务逻辑。 Presenter代替了Controller,它比Controller担当更多的任务,也更加复杂。 Presenter处理事件,执行相应的逻辑,这些逻辑映射到Model的Command以操作Model。那些处理UI如何工作的代码基本上都位于Presenter。Presenter如同一个乐队的指挥家,表现和协调整个Application,它负责创建和协调其它对象。 Model和View使用Observer模式进行沟通;而Presenter和View则使用 Mediator模式进行通信;Presenter操作Model则使用Command模式来进行。基本设计和MVC相同:Model存储数据,View表示Model的表现,Presenter协调两者之间的通信。在MVP中View接收到事件,然后会将它们传递到Presenter,如何具体处理这些事件,将由Presenter来完成。
原文:https://wenku.baidu.com/view/4424afdeff00bed5b8f31dc6#

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值