体系结构设计
一、在android中使用MVC模式的缺点
在android中,如果我们要用mvc模式,那么每层代表什么呢?
-
View:对应于布局文件
-
Model:业务逻辑和实体模型
-
Controllor:对应于Activity
那么View层对应于布局文件,能做的事情就特别少,关于该布局文件中的数据绑定的操作,事件处理的代码都在Activity中,造成了Activity既像View又像Controller。
二、MVP模式
MVP模式的解释:
- View 对应于Activity以及xml布局,负责界面的展示以及与用户交互。
- Model 依然是业务逻辑和实体模型。
- Presenter 负责完成View于Model间的交互。
在学生导师互选系统中MVP模式的应用:
- View:视图层, 负责向用户显示信息,不同的角色可以看见的视图不同。用户在视图上与系统进行交互,一些用户的行为(如填报志愿、选择学生、勾选系负责人、开始只能匹配等)View会调用Presenter里面的功能,即调用Presenter里面的方法。
- Presenter:调用Model层的方法,进行数据处理。并将Model的操作结果,作为信息传递给View层,通知View更新视图界面,与用户进行交互。
- Model:业务逻辑和实体模型。包括对数据的操作。在这一层包含了访问数据:如查看导师列表、查看导师信息、查看学生信息。对数据的修改,将分配结果写入数据库等。
使用MVP模式的好处:
- 降低模块间的耦合度。
- 便于测试。
- View从特定的业务场景中脱离出来,可以说View可以做到对业务逻辑完全无知。它只需要提供一系列接口提供给上层操作。这样就可以做到高度可复用的View组件。