这些设计模式特别关注表示层。
一、MVC模式(MVC pattern)
Model-view-Controller模式,这种模式用于应用程序的分层开发
- Model:代表一个存取数据的对象或Java POJO。可以带有逻辑,数据变化时更新控制器。
- View:视图代表模型包含的数据可视化。
- Controller:控制器作用模型和视图上,他控制数据流向模型对象,并且数据变化更新视图,它使视图和模型分开。
1.创建Model—Student.java
public class Student{
private String rollNo;
private String name;
public String getRollNo(){
return rollNo;
}
public setRollNo(String rollNo){
this.rollNo=rollNo;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}
2.创建View—StudentView.java
public class StudentView{
public void printStudentDetalis(String name,String rollNo){
System.out.println("Student:"+name+"rollNo");
}
}
3.创建Controller—StudentController.java
public class StudentController{
private Student model;
private StudentView view;
public StudentController(Student model,StudentView studentView){
this.model=model;
this.view=studentView;
}
public void setStudentName(String name){
model.name=name;
}
public String getStudentName(){
return model.name;
}
public String getRollNo(){
return model.rollNo;
}
public void setRollNo(String rollNo){
model.rollNo=rollNo;
}
public updateView(){
view.printStudentDetails(model.getName(),model.getRollNo());
}
}
4.使用StudentController—MVCPatternDemo.java
public class MVCPatternDemo{
public static void main(String[] args){
Student model=retriveStudentFromDate();
StudentView view=new StudentView();
StudentController controller=new StudentController(model,view);
controller.updateView();
//更新数据
controller.setStudentName("John");
controller.updateView();
}
private static Student retriveStudentFromData(){
Student student=new Student();
student.setName("Robert");
student.setRollNo("10");
return student;
{
}