第一部分:什么是MVP?什么是MVC?

1、什么是MVP?

M:数据层(数据库、网络、文件存储等等...)

V:View和Activity和Fragment以及它们的子类

P:中介->Presenter(作用:将M层数据和UI层进行关联和交互中介)

2、什么是MVC?

M:单纯Model(Java Bean对象)

V:View以及子类

C:Fragment和Activity以及子类

第二部分:开始进行MVP搭建

内容一:MVP入门?

·第一步:看一个基本案例?->普通代码实现

·第二步:MVP实现->简单案例->分层次设计

· 第三步:MVP实现->优化->优化第1步->方法绑定

·第四步:MVP实现->优化->优化第2步->抽象

·第五步:MVP实现->优化->优化第3步->BaseView解决

·第六步:MVP实现->优化->优化第4步->泛型设计

·第七步:MVP实现->优化->优化第5步->抽象类BaseActivity->具体实现

·第八步:MVP实现->优化->优化第6步->BaseActivity中抽象->抽象实现(BasePresneter和BaseView)

内容二:MVP进阶?

·第九步:MVP实现->优化->优化第8步->Fragment登录功能

·第十步:MVP实现->优化->优化第9步—>Fragment抽象

·第十一步:MVP实现->优化->优化第10步->针对LinearLayout、Button集成MVP

需求:集成->实现登录功能

·第十二步:MVP实现->优化->优化第11步->抽象为一个类

·第十三步:MVP实现->优化->优化第12步

代理一:

代理->针对的是->MVP绑定和解绑

分析角色划分?

目标接口:绑定和解除绑定回调接口(MvpCallback)

目标对象:具体实现(ActivityCallbackImpl、FragmentCallbackImpl等等...)->Activity实现->MvpActivity

分析:创建presenter、创建view等等...

代理对象:代理实现(MvpCallbackProxy)

代理二:

代理->针对的是->Activity整体代理->生命周期代理

分析角色划分?

目标接口:ActivityMvpDelegate

目标对象:ActivityMvpDelegateImpl

代理对象:MvpActivity(Activity)

功能实现:

第一个部分:绑定和解绑->目标对象(生命周期)

第二个部分:实现MVP绑定和解绑->目标对象(MvpActivity)

第三步部分:测试

MVC--MVP?的更多相关文章

  1. Android App的设计架构:MVC,MVP,MVVM与架构经验谈

    相关:http://www.cnblogs.com/wytiger/p/5996876.html 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于 ...

  2. MVC, MVP, MVVM比较以及区别(上)

    MVC, MVP和MVVM都是用来解决界面呈现和逻辑代码分离而出现的模式.以前只是对它们有部分的了解,没有深入的研究过,对于一些里面的概念和区别也是一知半解.现在一边查资料,并结合自己的理解,来谈一下 ...

  3. MVC, MVP, MVVM比较以及区别(下)

    上一篇得到大家的关注,非常感谢.一些朋友评论中,希望快点出下一篇.由于自己对于这些模式的理解也是有限,所以这一篇来得迟了一些.对于这些模式的比较,是结合自己的理解,一些地方不一定准确,但是只有亮出自己 ...

  4. android MVC && MVP && MVVM分析和对比

    相关:http://www.cnblogs.com/wytiger/p/5305087.html 出处http://blog.csdn.net/self_study,对技术感兴趣的同鞋加群544645 ...

  5. MVC MVP 和 MVVM的图示

    一直对于这些什么MVC MVP 和 MVVM都是云里雾里的 完全分不清楚 感觉jq上也没怎么用过,理解也很片面,画几张图也许能够大体分清他们之间的区别. 1.MVC(Model-View-Contro ...

  6. MVC, MVP, MVVM比较以及区别

    MVC, MVP和MVVM都是用来解决界面呈现和逻辑代码分离而出现的模式.以前只是对它们有部分的了解,没有深入的研究过,对于一些里面的概念和区别也是一知半解.现在一边查资料,并结合自己的理解,来谈一下 ...

  7. Android MVC MVP

    从.NET的宠物商店到Android MVC MVP   1 一些闲话 记得刚进公司的时候,我们除了做常规的Training Project外,每天还要上课,接受各种技术培训和公司业务介绍.当时第一次 ...

  8. [1] MVC & MVP &MVVM

    开发架构之MVC & MVP & MVVM  

  9. 浅析前端开发中的 MVC/MVP/MVVM 模式

    MVC,MVP和MVVM都是常见的软件架构设计模式(Architectural Pattern),它通过分离关注点来改进代码的组织方式.不同于设计模式(Design Pattern),只是为了解决一类 ...

  10. [转]MVVM架构~mvc,mvp,mvvm大话开篇

    MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负 责显示.作为一种新的模式,MVP与MVC有着一 ...

随机推荐

  1. WPF 动态添加控件以及样式字典的引用(Style introduction)

    原文:WPF 动态添加控件以及样式字典的引用(Style introduction) 我们想要达到的结果是,绑定多个Checkbox然后我们还可以获取它是否被选中,其实很简单,我们只要找到那几个关键的 ...

  2. javafx实现读者文摘上的文章预览及下载

    功能设计: 1.实现读者文章的预览及下载 (实现了单击预览,双击下载) 2.实现文章查找 (实现了通过文章名查找(关键字)或者文章期数或年份(或者年份加期数)) 实现步骤: 首先是数据库设计: 数据库 ...

  3. 2019-8-31-matlab-画图

    title author date CreateTime categories matlab 画图 lindexi 2019-08-31 16:55:59 +0800 2018-2-13 17:23: ...

  4. [python3]未配置locale的主机出现UnicodeDecodeError: 'ascii' codec can't decode byte 0x....的解决

    之前写的发邮件的程序部署到vps的时候出现了 UnicodeDecodeError: 'ascii' codec can't decode byte 0x.... 的错误. 按理说UnicodeDec ...

  5. Dubbox服务的消费方开发

    开发步骤: (1)创建Maven工程(WAR)dubboxdemo-web ,在pom.xml引入依赖 ,同“dubboxdemo-service”工程.区别就是把tomcat插件的运行端口改为808 ...

  6. 【Java学习笔记】Java的垃圾回收机制

    搬以前写的博客[2014-12-30 15:07] 以前很少关注内存的问题,基本没有关注,这方面的小白,原因在于自己都是写的自我娱乐的小程序,不关注性能,不是提供服务.而企业级别的应用在程序稳健性方面 ...

  7. mybatis 多表查询sql

    在使用spring,spring mvc,mybatis时,mybatis链接数据库做多表查询的时候,sql语句中直接使用left join等链接字符就可以 链接多个表,参数类型是parameterT ...

  8. python制作坦克对战

    创建子弹类 import pygame class Bullet(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__i ...

  9. Java之数据库连接池

    未使用数据库连接池,需要从底层申请数据库连接来访问数据库,访问结束之后需要把链接丢弃.长此以往浪费时间. 数据库连接池就是用容器来申请访问,容器里有很多连接对象,用户来容器里拿一个连接对象一起访问数据 ...

  10. leetcode-161周赛-5248-统计【优美子数组】

    题目描述: 自己的提交:超时: class Solution: def numberOfSubarrays(self, nums, k: int) -> int: dp = [0]* (len( ...