- Model,模型层,保留数据
- 保存应用数据
- 与控制层进行数据交换
- View,视图层,用于展示数据
- 用于显示数据
- 获得用户输入
- 将输入的信息传递给控制器处理
- Controller,控制器,处理用户交互,与Model层进行数据交互
- 处理视图层传入的用户事件
- 与模型层交互
- 决定视图层怎么显示
Android 中 Activity相当于Controller层;XMl相当于View层;对于数据的处理就是Model层了。
- 代码模块的耦合性
- 三个部件相互独立,改变其中任意一个模块,不会对其他两个模块造成影响。
- 代码重用性高
- 比如我们将同一个数据库中的内容分别显示在两个平台上,比如手机浏览器和桌面浏览器。Model层的代码不需要做修改。
- 同样的,界面模块也可以用来显示不同的数据内容,例如显示另外一个数据库的内容。
- 容易扩展
- 由于视图层有统一的接口,我们可以添加多个展示方式。比如,在一个Activity中,可以用ListView展示数据,也可以用瀑布流展示数据。只要实现统一的接口。
- 并行开发
- 可以让界面程序员和其他开发人员一起同时开始工作。
- 代码量增多了
- 本来就很简单的程序用了反而变复杂了
