mvp框架

本文在于巩固基础

mvp框架的概念:

MVP是MVC模式的另一个变种,MVP即可以应用到WEB项目中, 也可以应用到Winform项目中,它的方便的测试机制为大型复杂的企业级应用带来了福音,MVP模式的层次图。

从图中可知道,MVP有Model-Presenter-View三个层次,下面是时序图

Controller层是负责状态保存和页面流转的有时根据需要,也需要Controller的参与

由以上几幅图综合分析可知,Presenter相当于中介者的作用,它负责接收视图发送来的请求,调用Model服务接口,Presenter再把处理结果反映到View,Presenter可以不对View层作强引用,可以接口引用,这样任何一个Presenter都不会依赖于任何一个具体的视图,而是依赖于具体的接口,一个视图接口可以有好几个的实现,大部分展现逻辑都有Presenter层中,它是一个具体的类,可测试性级高;同时Presenter与WEB或是Win无关,这就更增加了MVP的可测试性。View的具体实现有对Presenter的强引用,在测试时我们只要制作一个Mock的VIEW,实现View即实现接口IView,就可以测试了。所以说复杂的企业级应用我觉得用MVP模式比较合适。

MVC和MVP的区别http://www.cnblogs.com/ego/archive/2009/03/06/1404328.html

 

时间: 2024-12-16 15:20:19

mvp框架的相关文章

简单的MVP框架搭建

1.MVP框架介绍: 最近公司内部培训,正好理一下项目的架构,目前最主要的产品还是用的MVP软件设计模式,就顺便查查资料来做个总结. 1.1什么是MVP? MVP是Model-View—Presenter的缩写,从网上找到的资料来看,大多数时候,对于MVP的介绍还是基于MVC,关注点基本上就集中在Presenter上面了,wiki上有个简单的说明(MVP模式),先从定义来大概理解下这个模式: 1.2MVP各自的使用规则和相互的交互 这三个模块,一般情况下,对于view的理解是没什么争议的,就是界

MVP框架设计详解

MVP MVP简介 Model View Presenter ActivityView MVP各层关系梳理 ?? Model与Presenter ?? View与Presenter ?? Presenter完成的交互 ?? Model与View之间的交互 MVP适用环境 MVPRetrofitRxJava 加入Retrofit 创建interface 修改Model层内容 修改Presenter层内容 加入RxJava 修改Interface 修改Model层 修改Presenter层 总结 M

Retrofit源码分析以及MVP框架封装使用

阅读此文前请先阅读Retrofit+okhttp网络框架介绍 从上文中我们已经了解通过如下代码即可得到返回给我们call 以及 response对象,今天我们通过源码来分析这个过程是如何实现的. /** * 获取天气数据 * @param cityname * @param key * @return */ @GET("/weather/index") Call<WeatherData> getWeatherData(@Query("format") S

当 Dagger2 应用在 MVP 框架中

原文链接:当 Dagger2 应用在 MVP 框架中 关于 Dagger2 自己一只想搞明白,但是从去年开始到现在,说真的,看过不少介绍 Dagger2 的文章,但自己一只云里雾里,最近打算把 Dagger2 应用到 MVP 框架中去,所以就重新翻看相关技术文章,重新学习下,下面算是自己这两天学习 Dagger2 后对 Dagger2 的认识,不一定都正确,如果 错误,欢迎指正,只要从代码角度出发,认识 Dagger2. Note:如果你对 MVP 和 Retrofit 都不熟悉,这篇文章可能不

Android MVP框架MVPro的使用和源码分析

最近看了两篇关于Android实现MVP的文章一种在android中实现MVP模式的新思路和用MVP架构开发Android应用. 两篇文章的思路都是一样的,即把Activity.Fragment作为Presenter,这种方式不同于现在主流的MVP方式,不过它很好的解决了Activity生命周期带来的问题,而且我认为它让MVP的实现更加轻松了. 那么问题来了,这么好的思路,我们怎么可以不去实现一下自己的MVP呢? 于是我花了一晚上的时候整出了一个小小的MVP框架--MVPro MVPro介绍 M

android课程表控件、悬浮窗、Todo应用、MVP框架、Kotlin完整项目源码

Android精选源码 Android游戏2048 MVP Kotlin项目(RxJava+Rerotfit+OkHttp+Glide) Android基于自定义Span的富文本编辑器 android课程表控件效果源码 Dagger.Clean.MVP框架搭建,快速开发- Andorid 任意界面悬浮窗,实现悬浮窗如此简单 android模仿QQ登录后保存账号和密码效果源码 Android简洁清爽的Todo清单工具(MVP+okhttp3+retrofit+gson) Android优质博客 K

Ted Mosby - 一个MVP框架的软件架构

Ted Mosby - 软件架构 作者:Hannes Dorfmann 原文链接 : [http://hannesdorfmann.com/android/mosby/] (http://hannesdorfmann.com/android/mosby/) 文章出自 : Android开发技术前线 译者 : Mr.Simple 我给这篇关于Android库的博客起的名字灵感来源于<老爸老妈浪漫史>中的建筑设计师Ted Mosby.这个Mosby库可以帮助大家在Android上通过Model-V

Android MVP框架模式

结合前一篇MVC框架模式 为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-View-Presenter)模式应运而生. 在MVP模式里通常包含4个要素: (1)View:负责绘制UI元素.与用户进行交互(在Android中体现为Activity); (2)View interface:需要View实现的接口,View通过View interface与Presenter

Android 初识 MVC、MVP框架

转载请标明出处: http://blog.csdn.net/airsaid/article/details/51315096 本文出自:周游的博客 前言 MVC MVP 前言 MVC.MVP.MVVP相信大家已经耳熟能详了,作为Android最出名的三个框架,它们的应用是非常的广泛.这篇博客就来简单介绍下其中二种框架.也加强下自己对这方面的了解.由于自己菜鸟一枚,有不对和需要补充的地方欢迎评论~ MVC MVC全名是:Model(模型) View(视图) Controller(控制器) 是软件架