关于架构设计
架构设计的目的是使项目模块化,做到模块内部的高聚合和模块之间的低耦合。通过架构设计,开发人员能够更加专注地开发某个模块,而不需要顾虑对其它模块造成影响,并且能够更加容易地进行后续的测试以及定位问题。对于不同量级的项目,具体架构的实现是不同的,千万不能为了架构而架构。
Android App开发架构模式有:MVC、MVP、MVVM。
本小节学习MVC。
一、概念
MVC分为三个部分: Model(数据)、View(界面)、Controller(控制器)
二、模型图
MVC
Model(数据):
负责数据的来源和封装,比如网络请求、数据库操作等。如果有必要则提供接口暴露自己处理数据的状态和进度。
Model层提供接口,实现功能,供Controller层调用。
View(界面):
负责界面相关操作,比如布局界面的初始化、各种listener的设置、更新界面等。View层包括布局文件、Activity和Fragment等。
Controller(控制器):
接收View层的数据加载请求,并调用Model层的接口请求数据。
Controller层提供接口,实现功能,供View层调用。
三、工作流程
View层向Controller层发出数据加载请求,Controller层调用Model层的接口请求数据,当Model层处理完毕会直接返回结果给View层,在View层实现界面的刷新。
四、问题
我们通常在Activity和Fragment中调用Model层的接口请求数据,然后更新界面,因此Activity和Fragment同时承担了View层和Controller层的任务。随着业务功能的增多,Activity和Fragment的代码会越来越难以阅读和维护,这就是在Android中使用MVC的弊端。
五、使用场景
简单应用。