MVC模式的一个简单实例

1.MVC模式

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

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

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

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

2.实现步骤

我们将创建一个作为模型的 Student 对象。StudentView 是一个把学生详细信息输出到控制台的视图类,StudentController 是负责存储数据到 Student 对象中的控制器类,并相应地更新视图 StudentView

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

 步骤1 创建模型:

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 创建视图:

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 创建控制器

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 设计模式的用法

public class MVCPatternDemo {
   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(){
      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


 

  • 6
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVC(Model-View-Controller,模型-视图-控制器)是一种软件架构模式,它将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。下面是一个简单MVC设计模式的例子: 假设我们正在开发一个简单的图书管理系统,用户可以添加、删除和编辑书籍。我们可以将MVC模式应用于这个系统: 1. 模型(Model):模型是数据和业务规则的集合,即数据访问层。在我们的例子中,模型包括Book类,它保存图书的信息,如书名、作者、出版社等。 ```java public class Book { private String title; private String author; private String publisher; public Book(String title, String author, String publisher) { this.title = title; this.author = author; this.publisher = publisher; } // getters and setters } ``` 2. 视图(View):视图是用户界面的集合。在我们的例子中,视图由一个图书列表页面和一个表单页面组成,用户可以在列表页面查看所有书籍,在表单页面添加、编辑或删除书籍。 3. 控制器(Controller):控制器是应用程序逻辑的集合,它处理用户输入并更新模型和视图。在我们的例子中,控制器由一个BookController类实现,它处理用户的请求,并根据请求更新模型和视图。 ```java public class BookController { private List<Book> books; private Book currentBook; public BookController() { books = new ArrayList<>(); } public List<Book> getBooks() { return books; } public void addBook(Book book) { books.add(book); } public void deleteBook(Book book) { books.remove(book); } public void setCurrentBook(Book book) { currentBook = book; } public Book getCurrentBook() { return currentBook; } } ``` 在我们的例子中,控制器处理用户输入并更新模型和视图。例如,当用户在表单页面上添加书籍时,控制器将创建一个新的Book对象并将其添加到books列表中,然后更新图书列表页面以显示新的书籍。 这是一个简单MVC设计模式示例。MVC模式可以使应用程序更容易理解和维护,因为它将应用程序分解为三个不同的部分,每个部分都有自己的责任和职责。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值