第二天(MVP和MVC是什么,有什么区别)

一天一面试题---第二天(MVP和MVC是什么,有什么区别)

MVC: View接收到用户的操作之后,将用户的操作来交给Controller(activity),Controller完成业务逻辑,将得到的结果封装成Model,再进行View的更新.Controller做的事情非常多,即做了View层逻辑,又做了Model层逻辑,导致过度臃肿.

View: layout也可以是自定义View

Model: JavaBean,SqliteDataBase;

Controller: Activity

比如我们创建一个项目的时候,View:activity_main.xml  Controller:MainActivity  当我们获取到数据的时候创建的Bean就是Model

当用户点击一个Button时,Controller层处理Button的点击事件,开始向网络请求,获取到网络数据,封装成一个JavaBean(Model),Model则将数据传给Controller,再由Controller更新UI.

MVP:当View层接到用户点击的事件后,会将用户的操作交给Presenter,Presneter收到View层指令,可以自己处理,也可以交给Model层处理,一般情况是交给Model层来处理,当Model层处理完事件后,将得到的结果通过接口返回给Presneter,最后Presneter则将封装好的数据转给View,最后View层进行渲染;

View:Activity,Fragemnt. View层只有Presenter的引用,

Presneter:就是View和Model层的桥梁. Presenter层既会有View层引用,也会有Model层引用

Model:数据处理层. Model层只有Presneter的引用

所以MVP其实也就是通过Presenter这个桥梁,来接通View和Model.

MVCMVP 和 MVVM 是三种常见的软件架构模式,用于组织和管理应用程序的代码。它们有一些共同的概念,但也有一些区别MVC(Model-View-Controller)是最早提出的架构模式之一。在 MVC 中,应用程序被分为三个主要部分: 1. 模型(Model):负责处理数据和业务逻辑。 2. 视图(View):负责显示数据给用户。 3. 控制器(Controller):负责接收用户输入,并根据输入更新模型和视图。 MVP(Model-View-Presenter)是 MVC 模式的变体。MVP 将视图和控制器的职责分离,引入了一个新的组件 Presenter,它作为视图和模型之间的中介。MVP 的关键特点是: 1. 模型(Model):负责处理数据和业务逻辑。 2. 视图(View):负责显示数据给用户。 3. 主持人(Presenter):负责处理用户输入,并更新模型和视图。 MVVM(Model-View-ViewModel)是一种相对较新的架构模式,主要用于现代前端开发。MVVM 借鉴了 MVCMVP 的思想,并引入了数据绑定的概念。MVVM 的关键特点是: 1. 模型(Model):负责处理数据和业务逻辑。 2. 视图(View):负责显示数据给用户。 3. 视图模型(ViewModel):负责将模型数据转换为视图所需的格式,并处理用户输入。同时,它还通过数据绑定机制与视图保持同步。 总的来说,MVCMVP 和 MVVM 都是用于组织应用程序代码的架构模式,它们在组织代码和处理用户交互方面有一些区别。选择哪种架构模式取决于具体的应用场景和需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值