Android应用基于模型-控制器-视图(Model-Control-View,简称MVC)的架构进行设计的。MVC设计模式表明,应用的任何对象,归根结底都属于模型对象、视图对象以及控制对象中的一种
模型对象(Model) 存储应用的数据和业务逻辑。模型对象通常被设计用来映射与应用相关的一些事物。
如用户、商店里的善品、服务器上的图片或者一段电视节目。
模型对象不关心用户界面,它存在的唯一目的就是存储和管理应用数据。Android应用中的模型类通常就是我们创建的定制类,应用的全部模型对象组成了模型层。
视图对象(View) 知道如何在屏幕上绘制自己以及如何响应用户的输入,如用户的触摸等。
一个简单的经验法则是,凡是能够在屏幕上看见的对象就是视图对象。
Android默认自带了很多可配置的视图类,当然,也可以定制开发自己的视图类,应用的全部视图对象组成了视图层
控制对象(Control) 包含了应用的逻辑单元,是视图与模型对象的联系纽带,控制对象被设计用来响应由视图对象出发的各类事件,此外还用来管理模型对象与视图层间的数据流动。Android中,控制器通常是Activity\Fragment\Service的一个子类。
模型对象与视图对象不直接交互,控制器作为他们之间的联系纽带,接收来自对象的消息,然后由其他对象发送操作指令。