[转载]android中的MVC-Android开发问题解答-eoe Android开发者社区_Android开发论坛

[转载]android中的MVC-Android开发问题解答-eoe Android开发者社区_Android开发论坛.

Android比较完全的实现了MVC模式:
控制层:activity
视图层:View
业务层:自定义

简单的看,activity可以认为是MVC中的control,用于产生控制逻辑;View则是MVC中的view,用于展示软件界面。而view可以用xml来简单地表示和生成,美工可以采用一些界面设计器来设计界面,而不用理会复杂的java代码。这样Android就实现了逻辑与界面的良好分离,软件开发起来简单高效。
怎么将activity与view关联起来呢?
Activity提供了setContentView这个方法,只要继承Activity的子类调用该方法即可呈现view所描述的界面。View既可用xml描述,也可以用java代码来生成。

model层可以认为是values目录下的xml,也可以是java逻辑代码,为什么这么说呢?因为xml是可以用来存放数据的(比如样式、数组等),和javabean有着类似的功能。

附加别人的观点1:
android应用开发一 般来说由四大块构成 activity, intent, provider, broadcastreciver.从这种结构上来看,android系统是提供了从显示层到数据层到消息机制的一整套的应用开发方案,而且是一种比较先 进的解决方案。从写android代码的过程中,android项目整体是一种典型的MVC结构,非常类似于主要用于WEB开发的J2EE架构。xml布 局文件是view相当于JSP页面; activity和intent起到了controller的作用; provider对数据层做了良好的封装,而且provider把数据管理的范畴从数据库泛化到了数据的概念,不光管理数据记录,只要是数据文件(图片、 视频、声音文件、所有其他的一切的file)都纳入管理,且提供了数据共享的机制,这是比较出彩的地方; broadcastreceiver提供了一种良好的消息机制,使得一个应用不再是一个信息孤岛,而是和其他的应用、服务等构成了信息网络,从而极大的丰 富了应用的开发空间,给了应用开发者极大的想象创造的可能。

附加别人的观点2:
xml布局负责将界面布局做好,并且尽量做到合理分割与减少层次
Activity做好控件事件绑定与业务流程控制
Intent做好Activity间的session传递管理
自己创建Model(可以通过Observer模式进行绑定处理、并且包装好各种provider)将处理数据的工作做好。不建议简单地将各个数据字段散 乱地存放在Activity周围,而是借助数据Bean的思路存放在Model下面,这样在Model数据项变得庞大后难于管理与重构,而且这多为非面对 对象的设计方案。
Adapter是数据与呈现的粘合剂

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏