MVC全称是Model-View-Controller也就是模型--视图--控制器,目的是为了将数据模型和视图分离开来,并以控制器作为连接两者的桥梁以实现解耦。
优点
- 理解容易,技术含量不高,开发成本低,易于维护和修改。
- 耦合性不高,表现层与业务层分离实现各司其职,有利于开发。
缺点
- 没有明确的定义,完全理解MVC模式会有困难。
- 内部原理比较复杂。
- Model和View要严格分离,这样给调试应用程序带来了一定的困难,每个构件在使用前都需要经过彻底的测试。
- MVC将一个应用程序分成了3个部件,同一个工程将包含比以前更多的文件,因此对小规模项目,MVC反而会带来更大的工作量以及复杂性。
MVC在Android中的实现
- Model
模型Model部分大多对应于本地的数据文件或网络获取的数据体,很多情况下我们队这些数据的处理也会在这一层中进行。 - View
Android中视图View层一般采用XML文件进行界面的描述。 - Controller
由界面Activity承担,控制器Activity主要起到的作用就是解耦,将视图View和模型Model进行分离,两者在Activity中进行绑定或完成其他逻辑。
一般情况下会在Activity中获取数据以及界面元素,并将两者进行绑定,但是其逻辑不能过于复杂,疑问Android中规定一个Activity的响应时间是5秒,如果超过这个时间就有可能被回收掉。
参考资料:《Android源码设计模式解析与实战》
网友评论