mvc架构和mvp架构

mvc:

耦合性比较高,view model controller都可以相互访问。

model view controller 模式 视图 控制器。

在android中

  1. view 对应于 视图布局xml文件;
  2. model 对应于数据文件或者网络获取的数据体;
  3. controller 对应activity。

activity(controller)中获取数据(model)并将数据展示在view上面去。

activity将view和model进行分离,在activity中进行绑定和完成逻辑。

mvp:

m和v直接必须通过p才能访问,m和v不能直接进行交互。

model(数据层): 数据获取 对数据进行存储 获取(数据库操作,网络请求操作)

view(UI层) :activity,fragment 或者view,包含presenter成员变量,实现p的抽象接口,将对view上的业务逻辑放到p上实现,p调用view的逻辑将结果进行展示到view上。

presenter(业务逻辑层):用来解耦model和view.

mvp有效降低view的复杂度,避免大量业务逻辑放在view上面,解除view和model的耦合,可扩展,可测试,保证系统整洁,灵活。view层不能喝model层直接交互,必须经过p层来进行中转。也就是说数据和视图的逻辑控制都放在p层。

目标:一套逻辑适用不同UI。

mvp在android中的体现:

时间: 2024-10-10 12:31:59

mvc架构和mvp架构的相关文章

Android官方MVP架构解读

综述 对于MVP (Model View Presenter)架构是从著名的MVC(Model View Controller)架构演变而来的.而对于Android应用的开发中本身可视为一种MVC架构.通常在开发中将XML文件视为MVC中的View角色,而将Activity则视为MVC中的Controller角色.不过更多情况下在实际应用开发中Activity不能够完全充当Controller,而是Controller和View的合体.于是Activity既要负责视图的显示,又要负责对业务逻辑的

安卓常见架构之——mvp

综述 对于MVP (Model View Presenter)架构是从著名的MVC(Model View Controller)架构演变而来的.而对于Android应用的开发中本身可视为一种MVC架构.通常在开发中将XML文件视为MVC中的View角色,而将Activity则视为MVC中的Controller角色.不过更多情况下在实际应用开发中Activity不能够完全充当Controller,而是Controller和View的合体.于是Activity既要负责视图的显示,又要负责对业务逻辑的

mvp架构解析

MVP现在已经是目前最火的架构,很多的框架都是以MVP为基础,甚至于Google自己都出一个MVP的开源架构.https://github.com/googlesamples/android-architecture,里面有好几个项目,我们先谈下todo-mvp这个最基础的MVP架构. 说到MVP,我们不得不谈到最最经典的MVC架构.什么是MVC,概括来说就是数据层,控制层以及显示层的分离.虽然我们可以把所有的代码都写在一个类里,但是作为了一个优秀的程序员你我想一定不会这样做,所以我们想到了解耦

MVP架构。。。。

Model-View-Presenter(MVP)概述    MVC模式已经出现了几十年了,在GUI领域已经得到了广泛的应用,由于微软ASP.NET MVC Framework的出现,致使MVC一度成为.NET社区的热名话题.作为MVC的变种MVP模式,也已经出现好几年了,在微软模式与实践小组提供的Web Client Software Factory中,给出了实现MVP模式的应用程序最佳实践,本文将试着对这两种实现比较一二.MVC(Model-View-Controller,模型-视图-控制器

浅谈MVP架构及开发模式

Model-View-Presenter(MVP)概述    MVC模式已经出现了几十年了,在GUI领域已经得到了广泛的应用,由于微软ASP.NET MVC Framework的出现,致使MVC一度成为.NET社区的热名话题.作为MVC的变种MVP模式,也已经出现好几年了,在微软模式与实践小组提供的Web Client Software Factory中,给出了实现MVP模式的应用程序最佳实践,本文将试着对这两种实现比较一二.MVC(Model-View-Controller,模型-视图-控制器

Android开发中的MVP架构(转)

写在前面,本博客来源于公众号文章:http://mp.weixin.qq.com/s?__biz=MzA3MDMyMjkzNg==&mid=402435540&idx=1&sn=1cd10bd9efaac7083575367a8b4af52f&scene=1&srcid=0910ARzPpBvVYPI1NDBZnixa#wechat_redirect 最近越来越多的人开始谈论架构.我周围的同事和工程师也是如此.尽管我还不是特别深入理解MVP和DDD,但是我们的新项目

mvp架构模式

今天是国庆节,祝大家节日快乐,愿祖国越发繁荣昌盛.假期程序员也不能偷懒,更新一些博文吧. 看到封面图片喜欢NBA的人可能很容易就想到了最有价值球员.但是此mvp非彼MVP,此mvp指的是现在Android开发中比较常见的一种软件架构模式.mvp架构模式是Google官方推荐的架构模式,特别是近年来的新项目,mvp+retrofit+rxjava+dragger2配合使用已经在引领程序界的潮流了,在github上可以轻易的搜到一大堆这样的开源项目.前端时间笔者也在公司的一个sdk上进行了尝试,在此

Android中的MVP架构

Android应用的MVC架构,Activity往往充当了View和Control双重角色,造成代码耦合性较强.怎样将View和Control解耦呢,可以使用MVP架构(Model.Control.Prestener)将Activity的View和Control彻底分离,不说废话了直接上代码吧! github: https://github.com/Allin1579/Allin-android 以Activity为例,Fragment的原理相同: View:我们将Activity看作一个单纯的

Android中的MVP架构初探

说来惭愧,MVP的架构模式已经在Android领域出现一两年了,但是到今天自己才开始Android领域中的MVP架构征程.闲话不多说,开始吧! 一.架构演变概述 我记得我找第一份工作时,面试官问我"android是否属于MVC架构模式,简述一下".确实,Android的整体设计结构就是MVC的设计模式,在J2EE的开发中,使用的也是MVC模式,MVC模式是一个经典,经历了几十年的考验.Android项目中的MVC架构: View:是应用程序中处理数据显示的部分,对应于layout文件下