当前位置: 首页 > news >正文

MVC模式

Model-View-Controller : 模型-视图-控制器模式,用于应用程序的分层开发。
Model(模型):代表一个存取数据的对象。也可以带有逻辑,在数据变化时更新控制器。
View(视图):代表模型包含的数据的可视化。
Controller(控制器):作用于模型和视图之上。控制数据流向模型对象,并在数据变化时更新视图。使视图与模型分离开。

在这里插入图片描述

/*
StudentModel 模型类
StudentView 视图类,把学生详细信息输出到控制台
StudentController 控制器类,存储数据到Student对象,并更新视图StudentView
*/
//创建模型 StudentModel.cpp
#include <stdio.h>
#include <string.h>class StudentModel
{
public:int getRollNo() {return _rollNo;}void setRollNo(int rollNo) {_rollNo = rollNo;}char * getName() {return _name;}void setName(char * name) {_name = new char[strlen(name) + 1];strncpy(_name, name, strlen(name) + 1);}private:int _rollNo;char * _name;
};//创建视图 StudentView.cpp
class StudentView 
{
public:void printStudentDetails(char * studentName, int studentRollNo){printf("Name: %s  RollNo: %d\n\n", studentName, studentRollNo);}
};//创建控制器 StudentController.cpp
class StudentController
{
public:StudentController(StudentModel model, StudentView view) {_model = model;_view = view;}void setStudentName(char * name) {_model.setName(name);}char * getStudentName() {return _model.getName();}void setStudentRollNo(int rollNo) {_model.setRollNo(rollNo);}int getStudentRollNo() {return _model.getRollNo();}void updateView() {_view.printStudentDetails(_model.getName(), _model.getRollNo());}private:StudentModel _model;StudentView _view;
};int main(void)
{StudentModel model;model.setName("Robert");model.setRollNo(10);StudentView view;StudentController controller(model, view);controller.updateView();//更新模型数据controller.setStudentName("John");controller.updateView();return 0;
}
http://www.lryc.cn/news/287514.html

相关文章:

  • Java中的代理模式(一)
  • 跳跃游戏-算法
  • ERP系统哪个好用?用友,金蝶,ORACLE,SAP综合测评
  • 外汇天眼:美国证券交易委员会(SEC)采纳了一系列规定,以加强与特殊目的收购公司(SPACs)相关的投资者保护
  • kotlin map 与 flatmap
  • nginx-rtmp-module 支持 Enhancing RTMP HEVC(H.265)
  • 2024最新JDK1.8+JDK17+JDK21安装包下载+文档
  • 如何利用chatgpt提升工作效率
  • WinSCP下载安装并实现远程SSH本地服务器上传文件
  • QEMU搭建arm虚拟机开发环境
  • web 应用常见的安全问题
  • 502. IPO
  • 如何安装MeterSphere并实现无公网ip远程访问服务管理界面
  • 做FP独立站怎么引流?这个引流法宝收好了!
  • 幻兽帕鲁PalWorld服务器搭建教程,1分钟开服,纯小白教程,无需基础
  • 算法小抄01
  • Spring Boot 集成 API 文档 - Swagger、Knife4J、Smart-Doc
  • 2024年软考报名时间及条件,小白必看
  • vue 跨域XMLHttpRequest
  • 【正点原子STM32】STM32基础知识(F1F4F7H7 STM32系统框架、寻址范围、存储器映射的存储器功能划分、寄存器映射)
  • Oracle、MySQL数据库常规命令语法-简易记录(非常规持续更新)
  • 用react搞定一个大模型对话效果
  • DP读书:在常工院的2023年度总结
  • 2023-2024年重庆职业院校技能大赛“信息安全管理与评估”比赛样题
  • 【Ubuntu】systemctl 命令
  • xinput1_3.dll文件的几种修复办法以及修复xinput1_3.dll注意事项
  • javaWebssh宠物基地管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计
  • 常用的gpt-4 prompt words收集3
  • 为什么电脑降价了?
  • 归并排序-逆序对