MVC模式
基本介绍
1.Model - View - Controller(模型 - 视图 - 控制器)模式
2.应用场景:程序的分层开发
3.角色
(1)Model:模型,代表一个存取数据的对象或普通 JavaBeans,它也可以带有逻辑,在数据变化时更新 Controller
(2)View:视图,代表 Model 包含的数据的可视化。
(3)Controller:控制器,作用于 Model 和 View 上,控制数据流向 Model 对象,并在数据变化时更新 View,使 View 与 Model 分离开
代码示例
public class MVC {//客户端
public static void main(String[] args) {
Model model = retrieveModelFromDatabase();
View view = new View();
Controller controller = new Controller(model, view);
controller.updateView();
controller.setName("John");
controller.setNo("20");
controller.updateView();
}
private static Model retrieveModelFromDatabase() {
Model model = new Model();
model.setName("Robert");
model.setNo("10");
return model;
}
}
class Model {//模型
private String no;
private String name;
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class View {//视图
public void printModelDetails(String name, String no) {
System.out.println("Model");
System.out.println("Name:" + name);
System.out.println("No:" + no);
}
}
class Controller {//控制器
private Model model;
private View view;
public Controller(Model model, View view) {
this.model = model;
this.view = view;
}
public void setName(String name) {
model.setName(name);
}
public String getName() {
return model.getName();
}
public void setNo(String no) {
model.setNo(no);
}
public String getNo() {
return model.getNo();
}
public void updateView() {
view.printModelDetails(model.getName(), model.getNo());
}
}

浙公网安备 33010602011771号