浅谈android中的MVC--【1】
来源:互联网 发布:人工蜂群算法 matlab 编辑:程序博客网 时间:2024/05/16 09:57
前言:回忆下MVC
这是维基百科的解释Link:https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
稍作修改。应该是这样的
一直以为android是很好的支持了MVC。我一直都觉得这很怪。到底算不算MVC呢?
答案是肯定的。。。
先看下android项目的文件目录结构
无疑问的确定View
Android有res,包含了layout, values, xml, anim。这是可以归属到View去的。
纠结的Control
每个Activity都包含了一个Window。这个Window中有DecorView。DecorView便是所有View的载体。 页面的逻辑处理就在Activity中。。。为什么要纠结的认为这不是个C呢?等下说
Model
这部分Android跟IOS都一样,没有定义。这需要我们自己去实现,所以,我们就变得纠结了,Activity的包容完全可以实现这些。
回头看下为何纠结Activity不是个Controller?
就是因为Activity实现了太多,甚至实现了很多Model的功能,导致Activity臃肿。。。
错觉就来了。。。。
Android的V,C有部分是在Activity中,但从功能划分,Activity只应该有Controller的部分。而事实上,Activity负责着View跟Controller的桥接。Activity还得稍微切割一下。
最终的Model更新View部分的代码,看似通过Controller(Activity)进行,可以理解成Model---update---》View
小结,Android还是个MVC的结构。时至今日,还有MVP,MVVM,更准确的说是Android只是做了MV,但MVX并没有明确的划分。。。
附上代码:https://github.com/wangxueming/Samples-Mvc
0 0
- 浅谈android中的MVC--【1】
- 浅谈android中的mvc模式
- 浅谈android中的MVC--【2】
- 浅谈Android中的MVC与MVP模式
- Android的MVC浅谈
- 我理解中的MVC ----------浅谈MVC
- 浅谈Android开发中的MVVM模式及与MVP和MVC的区别
- 浅谈前端开发中的MVC模式
- 浅谈iOS中的MVC设计【图文+视频】
- 浅谈Servlet中的MVC和软件设计层次
- (ZT) 浅谈系统架构中的MVC模式
- 浅谈MVC分层架构中的层次
- 浅谈MVC分层架构中的层次
- 浅谈MVC在Unity中的使用
- 浅谈android中的对话框
- 浅谈android中的反编译
- 浅谈Android中的Handler
- 浅谈Android中的MVP
- 安装eclipse mat插件
- JAVA和C# 3DES加密解密
- Java io中的File类里面的方法总览和使用示例
- java反射
- springmvc前端控制器匹配
- 浅谈android中的MVC--【1】
- HTTP协议
- 实现Git提交后自动邮件通知的功能配置
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)(破损的键盘(又名:悲剧的文本))(链表)
- 最小二乘法PCA
- CoAP学习笔记——CoAP格式详解
- BZOJ[1019]汉诺塔
- Android Notification自定义通知样式你要知道的事
- Unix网络编程 卷1 第8章:基本UDP套接字编程(UDP回射客户/服务器程序: main/dg_echo/dg_cli)