中易网

Android开发有MVC的框架吗?Android 开发该怎么分包

答案:2  悬赏:10  
解决时间 2021-04-27 19:39
  • 提问者网友:孤笛钟情你
  • 2021-04-27 14:47
Android开发有MVC的框架吗?Android 开发该怎么分包
最佳答案
  • 二级知识专家网友:而你却相形见绌
  • 2021-04-27 15:41
现在都使用mvp进行android开发。
详细例子请参考android学习手册,360手机助手中可以下载,里面有108个android例子,源码文档都可在里面看,里面有详细介绍这个的框架。
MVP模式是什么?MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。
MVC和MVP的区别?
为什么会出现MVP模式呢?这是因为原有的MVC模式有一些短板。比如在android开发中,activity充当着MVC中Controller的角色,但是在实际开发中处理view的逻辑和角e799bee5baa6e59b9ee7ad9431333361323638色。当业务界面复杂时我的activity会显得很庞大。于是出现了MVP模式,它新增了一个Presenter角色用于处理数据和界面的模型以及逻辑,Activity仅仅用于展示界面和用户交互,这样就解决了MVC中角色不清的局面。
所以,MVP与MVC的重大区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。
在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑。 在MVC模型里,更关注的Model的不变,而同时有多个对Model的不同显示,即View。所以,在MVC模型里,Model不依赖于View,但是View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。
MVC模式结构
Model 业务逻辑和实体模型
Controller 对应Activity
View 视图以及布局文件

MVP模式结构
Model: 业务逻辑和实体模型
View:用户交互和视图显示,在android中对应activity
Presenter: 负责完成View于Model间的逻辑和交互
小节:MVP模式相当于在MVC模式中又加了一个Presenter用于处理模型和逻辑,将View和Model完全独立开,在android开发中的体现就是activity仅用于显示界面和交互,activity不参与模型结构和逻辑,
#### 实战
谷歌官网给了我们一个MVP模式实战的例子,它是一个类似记事本的app,源码地址在:https://github.com/googlesamples/android-architecture
官方案例的框架图如下:
全部回答
  • 1楼网友:社会水太深
  • 2021-04-27 16:14
你好! 只要是视窗化的程序,mvc都存在。 如有疑问,请追问。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息