在安卓开发中,我们通过架构设计使程序更模块化 把软件分为三部分:model(数据)、view(用户界面)、controller(控制器–业务逻辑) 这三个模块之间的通信方式: 下图为参考某一博客中的流程图,博客地址在参考中给出! 界面布局采用xml文件。 主要由Activity实现,controller层接受用户所有的操作,并根据需求触发model层,或者触发view层 model层根据controller层的指令执行,修改数据or不修改数据 1.可以看出大量的逻辑和代码都会集中在controller层,controller层的压力很大,但是view层的独立处理事件的能力没有用到 MVP主要是将APP分为:model模块、view模块、presenter模块 具体来说: view层:负责绘制UI元素,与用户进行交互,向presenter层报告用户行为。通常使用Activity或者Fragment作为view层 presenter层:业务逻辑层,负责view层和model层之间的交互,从model层拿到数据响应到view层,并且响应view层的用户的行为 model层:数据层,操作、检索、存储数据 这样做的优点: 举个例子:当用户在界面的editText中输入了文字之后,view层会通知presenter层,presenter层响应view层的用户行为,应该找哪个model去完成这次响应,最后presenter层将完成的结果更新到view层 p层通过model层和view层定义的接口来操作model和view,这样activity就可以把所有的逻辑交给presenter,java逻辑就会从app的activity中分离出来 https://www.tianmaying.com/tutorial/AndroidMVC安卓开发架构—MVP
为什么需要架构设计呢?
这样可以做到:模块内高度耦合、模块间低耦合
这样使得每个开发人员只专注于自己的那一部分模块,提高程序的开发效率MVC模式
MVC是一种经典的软件设计典范,通过将界面展示、数据处理和业务逻辑处理分离,实现对界面进行个性化定制时,不需要重新编写业务逻辑
MVC在android中具体应用
view层(视图层)
逻辑中与界面对应的id不变化,则代码不用修改
增强了代码的可维护性
监听model层是否有数据更新controller层(控制层)
或者两者都触发
controller对view层会进行操作反馈,但是不会修改view层中的数据model层(数据层)
修改数据时model层会与view层进行通信MVC的缺点
2.controller层和view层之间是一一对应的,view层不能复用,因此产生了很多冗余代码MVP模式
MVC中view层可以监听model层来进行数据更新,在MVP中,view层和model层是完全独立的
具体通信方式如下:view层(视图层)
presenter层(业务逻辑层)
model层(数据层)
MVP的优点
1.model层和view层完全分开,model层和view层是通过presenter层来交互的,我们可以修改view层,而不改变model层。因为view层的改变总是要比model层频繁。
2.从MVC到MVP,引入presenter层是为了将此前Activity中包含的大量逻辑操作转到presenter层,这样Activity不会太臃肿。
3.更高效的使用模型,所有的交互都发生presenter层参考
https://c.biancheng.net/view/7743.html
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算