Android的mvc架构
mvc架构主要是Model层,View层,Controller(控制器)。
Model层
1.JavaBean不是Model,但Model也可以包含JavaBean的职责,但不是必须的。
2.Model是用来处理数据的,如获取数据(本地或者服务器),数据处理,如CURD(增删改查)。
按照上面职责写一个Model类:
/**我是一个Model*/
public class TaskRepository{
/**从服务器请求获取数据*/
void getTasks(){}
/**从内存缓存获取数据*/
Data getTaskCache(){}
/**从磁盘缓存获取数据*/
Data getTaskDiskCache(){}
/**保存一条数据*/
boolean saveTask(Task task){}
/**对数据进行排序*/
Data orderData(Data data, int orderType){}
}
一句话总结,Model就是负责获取数据,操作数据,对数据进行业务处理的。
View层
它的主要职责为呈现Model的数据、主动询问状态或被动的监听。
通知控制器Controller去处理一些事情。
接受Controller,编辑自己与Model无关的状态。
按照这个职责写一个View类:
/**我是一个View**/
public class TaskView{
/**当列表初始化后,告诉控制器该加载数据了*/
void viewCreate(){
controller.loadNomData();
}
/**更新列表*/
void upDateList(){
//主动请求Moder获取数据
Data data = tasksRepository.getTaskCache();
//更新ui
list.update(data);
}
void beginLoadData(){
list.showHead();
}
}
Controller
接受View的操作,并转调给Model。
改变View的状态。
按照上面的职责写一个Controller类:
/**我是一个Controller*/
public class TasksController{
void loadNomData(){
if(tasksRepository.getTaskCache() == null){
//执行Model
tasksRepository.getTasks();
//执行View
view.beginLoadData();
}
}
}