MVC模式是java设计模式的一员,它由三个结构组成,M(model 模型)负责数据的存和取,在我的理解上是用于表达数据的类。V(view 视图)负责模型的可视化操作,如果M是用来表达数据的类,则V就是将这些模型转换成用户能够直观感受和操作的界面。C(controller 控制器)负责控制数据的流动,顾名思义,用户对数据进行读或写时控制器进行控制数据的存和取,以及视图的更新。
它的实现方式就是根据这三个结构创建这三种关系的类,即模型类,视图类,控制类。
例如:
模型类:
/**
* 模型
* /
public class Studentmodel {
private Integer id;
private String name;
private String sex;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
视图类:
/**
* 视图
*/
public class Studentview {
public void studentview(Integer sid,String sname,String ssex){
System.out.println("当前学生信息如下");
System.out.println("学生id为:"+sid);
System.out.println("学生姓名为:"+sname);
System.out.println("学生性别为:"+ssex);
}
}
控制类:
/**
* 控制器
*/
public class StudentController {
``
private Studentmodel model;
private Studentview view;
public StudentController(Studentmodel model, Studentview view){
this.model = model;
this.view = view;
}
public void setStudentId(Integer id){
model.setId(id);
}
public Integer getStudentId(){
return model.getId();
}
public void setStudentName(String name){
model.setName(name);
}
public String getStudentName(){
return model.getName();
}
public void setStudentSex(String sex){
model.setSex(sex);
}
public String getStudentSex(){
return model.getSex();
}
public void updateView(){
view.studentview(model.getId(),model.getName(), model.getSex());
}
}
启动类:
/**
* 启动器
*/
public class StudnetrApp {
private static Studentmodel studnet(){
Studentmodel studentmodel=new Studentmodel();
studentmodel.setId(1);
studentmodel.setName("张三");
studentmodel.setSex("男");
return studentmodel;
}
public static void main(String[] args){
//模拟使用模型调用student数据库
Studentmodel studentmodel=studnet();
//创建视图
Studentview studentview=new Studentview();
//创建控制器
StudentController studentController=new StudentController(studentmodel,studentview);
//使用控制器控制模型的数据流向视图
studentController.updateView();
//使用控制器更改模型中id的数据
studentController.setStudentId(2);
//使用控制器更新视图
studentController.updateView();
}
}
运行结果:
当前学生信息如下
学生id为:1
学生姓名为:张三
学生性别为:男
当前学生信息如下
学生id为:2
学生姓名为:张三
学生性别为:男
这就是是设计模式中的MVC模式