MVC模式

该示例展示了如何运用MVC模式进行应用程序的分层开发。模型类`Student`存储学号和姓名,视图类`StudentView`负责显示学生信息,控制器`StudentController`协调模型和视图,实现数据更新与展示。在主类`MVCInstance`中,从数据库模拟数据,创建并更新学生信息。
摘要由CSDN通过智能技术生成

MVC模式用于应用程序的分层开发,分为模型、视图、控制器。模型表示一个存取数据的对象,可以带有逻辑,在数据发生变化时更新控制器;视图表示模型包含的数据的可视化;控制器作用在模型和视图上,控制数据流向模型对象,并在数据变化时更新视图,实现模型和视图的分离。

  1. 创建模型对象Student;
public class Student {
    //学号
    private int rollNo;
    //姓名
    private String name;

    public Student(int rollNo, String name) {
        this.rollNo = rollNo;
        this.name = name;
    }

    public int getRollNo() {
        return rollNo;
    }

    public String getName() {
        return name;
    }

    public void setRollNo(int rollNo) {
        this.rollNo = rollNo;
    }

    public void setName(String name) {
        this.name = name;
    }
}
  1. 创建视图对象StudentView输出学生信息;
public class StudentView {
    void printStudentDetails(String name, int rollNo){
        System.out.println("Student: Name is " + name + ",Roll No:" + rollNo);
    }
}
  1. 创建控制器对象StudentController存储数据到模型,更新视图;
public class StudentController {
    private Student model;
    private StudentView view;

    public StudentController(Student model, StudentView view) {
        this.model = model;
        this.view = view;
    }

    void setStudentName(String name){
        model.setName(name);
    }

    void updateView(){
        view.printStudentDetails(model.getName(), model.getRollNo());
    }
}
  1. 创建启动类,测试输出。
public class MVCInstance {
    public static void main(String[] args) {
        Student model = retrieveStudentFromDatabase();
        StudentView view = new StudentView();
        StudentController controller = new StudentController(model, view);
        controller.updateView();
        controller.setStudentName("John");
        controller.updateView();
    }

    //模拟从数据库中读取数据
    private static Student retrieveStudentFromDatabase() {
        return new Student(10, "Kafka");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐江小鱼

知识创造财富,余额还是小数

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值