MVC模式:即Model-View-Controller模式,该模式将应用程序划分为数据模型模块,数据显示模块,逻辑控制模块:
实现:
举个例子,创建一个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模式,正是解决这种多方面维护的繁杂性,在数据可视觉效果之间,增加一个用于桥接的
控制器,更新数据通过控制器,数据更新之后,控制器会实时更新其视觉效果
一切改动只通过控制器完成,就是电视的遥控器
原文:http://www.cnblogs.com/AlienJordan/p/3864195.html