MVC设计模式表明,应用的任何对象,归根结底都属于模型对象、视图对象、及控制器对象中的一种
模型对象存储着应用的数据和业务逻辑。模型类通常用来映射与应用相关的一些事物,如用户、商店里的商品、服务器上面的视频或者一段电视节目。模型对象不关心用户界面,它为存储和管理应用数据而生。
android应用里,模型类通常就是我们创建的定制类,应用的全部模型对象组成了模型层
视图对象知道如何在屏幕上绘制自己,以及如何响应用户的输入,如触摸动作等。凡是能够在屏幕上看见的对象,就是视频对象
应用的全部视图对象组成了视图层
控制器对象含有应用的逻辑单元,是视图对象与模型对象的联系纽带。控制器对象响应视图对象触发的各类事件,此外还管理者模型对象与视图层间的数据流动
在android里,控制器通常是activity、fragment或service的子类
注:模型对象与视图对象不直接交互,控制器作为他们之间联系纽带,接受对象发送的消息,返回向其他对象发送操作指令
下面是MVC 对象间交互控制数据流程图
使用MVC设计模式的优缺点
1)优点:
各司其职、互不干涉;
有利于开发中的分工;
有利于组件的重用;
2)缺点:
系统结构和实现复杂;
视图与控制器过于紧密;
不适用于小型甚至中型应用程序;