zoukankan      html  css  js  c++  java
  • MVC 模式介绍(1)

    MVC 模式
    MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。
    Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
    View(视图) - 视图代表模型包含的数据的可视化。
    Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。
    
    步骤 1
    package com.etcmvcdemo;
    //创建模型。
    //Student.java
    public class Student {
    private String rollNo;
    private String name;
    public String getRollNo() {
    	return rollNo;
    }
    public void setRollNo(String rollNo) {
    	this.rollNo = rollNo;
    }
    public String getName() {
    	return name;
    }
    public void setName(String name) {
    	this.name = name;
    }
    
    }
    
    
    步骤 2
    package com.etcmvcdemo;
    //创建视图。
    //StudentView.java
    public class StudentView {
    public void printStudentDetails(String studentName,String studentRollNo){
    	System.out.println("Student:");
    	System.out.println("Name:"+studentName);
    	System.out.println("Roll No:"+studentRollNo);
    }
    }
    
    
    步骤3
    package com.etcmvcdemo;
    /*
     *创建控制器。
    StudentController.java
     */
    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 setStudentRollNo(String rollNo){
    	model.setRollNo(rollNo);
    }
    public String getStudentRollNo(){
    	return model.getRollNo();
    }
    public void updateView()
    {
    	view.printStudentDetails(model.getName(), model.getRollNo());
    }
    }
    
    
    步骤4
    package com.etcmvcdemo;
    /*
     * 使用 StudentController 方法来演示 MVC 设计模式的用法。
    MVCPatternDemo.java
     */
    public class MVCPatternDemo {
    private static Student retriveStudentFromDatebase(){
    	Student student=new Student();
    	student.setName("SBRobert");
    	student.setRollNo("666");
    	return student;
    }
    public static void main(String[] args) {
    	//从数据可获取学生记录
    	Student model=retriveStudentFromDatebase();
    	 //创建一个视图:把学生详细信息输出到控制台
    	StudentView view=new StudentView();
    	StudentController controller=new StudentController(model, view);
    	////更新模型数据
    	controller.setStudentName("yyyu");
    	controller.updateView();
    }
    }
    

      

  • 相关阅读:
    1052 Linked List Sorting (25 分)
    1051 Pop Sequence (25 分)
    1050 String Subtraction (20 分)
    1049 Counting Ones (30 分)
    1048 Find Coins (25 分)
    1047 Student List for Course (25 分)
    1046 Shortest Distance (20 分)
    1045 Favorite Color Stripe (30 分)
    1044 Shopping in Mars (25 分)
    1055 The World's Richest (25 分)
  • 原文地址:https://www.cnblogs.com/ipetergo/p/6438138.html
Copyright © 2011-2022 走看看