博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC模式
阅读量:4310 次
发布时间:2019-06-06

本文共 2157 字,大约阅读时间需要 7 分钟。

MVC模式全称为Model-View-Controller模式,其中:

Model(模型):数据对象。

View(视图):可视化数据,即用户可以直观看到的数据。

Controller(控制器):对数据对象(Model)进行操作;在数据对象(Model)变化时更新视图(View)。

我们使用一个例子来理解MVC模式(该例引用自http://www.runoob.com/design-pattern/mvc-pattern.html):


 

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;   }}

创建模型:Student.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); }}

创建视图:StudentView


 

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());   }  }

创建控制器:StudentController


 

public class MVCPatternDemo {   public static void main(String[] args) {       //从数据库获取学生记录      Student model  = retriveStudentFromDatabase();       //创建一个视图:把学生详细信息输出到控制台      StudentView view = new StudentView();       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;   }}

模拟使用MVC设计模式


 

转载于:https://www.cnblogs.com/hhhh-ighsenberg/p/9303890.html

你可能感兴趣的文章
iOS 如何放大按钮点击热区
查看>>
ios设备唯一标识获取策略
查看>>
获取推送通知的DeviceToken
查看>>
Could not find a storyboard named 'Main' in bundle NSBundle
查看>>
CocoaPods安装和使用教程
查看>>
Beginning Auto Layout Tutorial
查看>>
block使用小结、在arc中使用block、如何防止循环引用
查看>>
iPhone开发学习笔记002——Xib设计UITableViewCell然后动态加载
查看>>
iOS开发中遇到的问题整理 (一)
查看>>
Swift code into Object-C 出现 ***-swift have not found this file 的问题
查看>>
为什么你的App介绍写得像一坨翔?
查看>>
RTImageAssets插件--@3x可自动生成@2x图片
查看>>
iOS开发的一些奇巧淫技
查看>>
常浏览的博客和网站
查看>>
Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
查看>>
iOS在Xcode6中怎么创建OC category文件
查看>>
5、JavaWeb学习之基础篇—标签(自定义&JSTL)
查看>>
8、JavaWEB学习之基础篇—文件上传&下载
查看>>
reRender属性的使用
查看>>
href="javascript:void(0)"
查看>>