首页 > 代码库 > MVC模式
MVC模式
MVC模式:即Model-View-Controller模式,该模式将应用程序划分为数据模型模块,数据显示模块,逻辑控制模块:
- Model 代表一个对象或一个装载了数据的POJO,同样可以包含一些逻辑,即当其自身的数据发生变化时,去通知Controller
- View 代表Model中数据的视觉展示
- Controller 控制器同时作用于Model和View。它控制着Model中的数据流向,且每当数据发生变化时,会去更新View。它保持着View与Model之间的独立
实现:
举个例子,创建一个Student对象,代表Model,StudentView代表一个View,用于将student中的数据输出到控制台,StudentController负责将数据存储到Student中并实时更新StudentView。
示例代码如下:
public class Student { private Date birth; private String name; public String getBrith() { return birth; } public void setBirth(String birth) { this.birth= birth; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
public class StudentView { public void printStudentDate(String studentName, Date birth){ System.out.println("Student: "); System.out.println("Name: " + studentName); System.out.println("Birth: " + birth.toString()); }}
public class StudentController { private Student model; private StudentView view; public StudentController(Student model, StudentView view){ this.model = model; this.view = view; } public void setStudentName(String name){ model.setName(name); } public String getStudentName(){ return model.getName(); } public void setStudentBirth(Date birth){ model.setBirth(birth); } public DategetStudentBirth(){ return model.getBirth(); } public void updateView(){ view.printStudentDetails(model.getName(), model.getBirth()); } }
/*************************************外星人乔丹拍板时间*************************************************/
针对一个具体的对象,内部是数据,外部是可视效果,普通模式下,当要更新数据时,是直接操作这个对象,而更新了数据之后,又要再去更新其视觉效果,
对用户而言,要同时维护两方面,真实数据即其视觉效果。而MVC模式,正是解决这种多方面维护的繁杂性,在数据可视觉效果之间,增加一个用于桥接的
控制器,更新数据通过控制器,数据更新之后,控制器会实时更新其视觉效果
一切改动只通过控制器完成,就是电视的遥控器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。