zoukankan      html  css  js  c++  java
  • MVC模式

    MVC模式代表Model-View-Controller(模型-视图-控制器)。这种模式用于应用程序的分层开发。

    MOdel(模型)-模型代表一个存取数据的对象或JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。

    VIew(视图)-视图代表模型包含的数据可视化。

    Controller(控制器)-控制器作用于模型和视图上。它控制数据流向模型对象,并在数据花边时更新视图。它使视图与模型分开。

    实现

    我们创建一个作为模型的Student对象。

    StudentView是一个把学生详细信息输出到控制台的视图类 。

    StudentController是负责存储数据到Student对象中的控制器类,并相应地更新视图StudentView。

    MVCPatternDemo,我们的演示类使用StudentController来演示MVC的用法。

    步骤1

    创建模型。

    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

    创建视图

    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

    创建控制器。

    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
    使用StudentController方法来演示MVC设计模式的用法。

    MVCPatternDemo.java

    public class MVCPatternDemo
    {
        public static void main(String args[]){
            //从数据获得学生记录
            Student model = retriveStudentFromDatabase();
            //创建一个视图:把学生详细信息输出到控制台
            StudentController controller = new StudentController(model,view);
            controller.updateView();
            //更新数据模型
            controller.setStudentName("John");
            controller.updateView();
        }
    
        private static Student retriveStudentFromDatabase(){
            Student student = new Student();
            student.setName("Robert");
            student.setRollNo("10");
            return student;
        }
    }

    步骤5

    验证输出。

    Student:
    Name: Robert
    Roll No:10
    Student:
    Name: John
    Roll No:10
  • 相关阅读:
    uva 10369 Arctic Network
    uvalive 5834 Genghis Khan The Conqueror
    uvalive 4848 Tour Belt
    uvalive 4960 Sensor Network
    codeforces 798c Mike And Gcd Problem
    codeforces 796c Bank Hacking
    codeforces 768c Jon Snow And His Favourite Number
    hdu 1114 Piggy-Bank
    poj 1276 Cash Machine
    bzoj 2423 最长公共子序列
  • 原文地址:https://www.cnblogs.com/runwulingsheng/p/5542736.html
Copyright © 2011-2022 走看看