分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

MVC模式

发布时间:2023-09-06 01:28责任编辑:赖小花关键词:MVC

描述

MVC模式,熟悉java的web开源框架springMVC的人对这个模式肯定不陌生,顾名思义,M:model(模型),V:view(视图),C:controller(控制器),这是一种按照逻辑对程序进行分层的思想。把对model的定义、操作和展示完美的分开,这样能清晰的分离开不同的业务逻辑层次。

实例

假设我们有一个学生(student)类,现在要对学生类进行改写和展示,那么我们就可以用MVC模式实现这个需求

//M-modelpublic 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; ??}}//V-viewpublic class StudentView { ??public void printStudentDetails(String studentName, String studentRollNo){ ?????System.out.println("Student: "); ?????System.out.println("Name: " + studentName); ?????System.out.println("Roll No: " + studentRollNo); ??}}//C-controllerpublic 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()); ??} ???}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; ??}}//输出结果:Student: Name: RobertRoll No: 10Student: Name: JohnRoll No: 10

  

代码来源: 特别感谢 菜鸟教程java设计模式之MVC模式

MVC模式

原文地址:http://www.cnblogs.com/K-artorias/p/7985815.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved