框架设计MVC

news2024/9/22 13:36:17

重点:

1.用户通过界面操作,传输到control,control可以直接去处理View,或者通过模型处理业务逻辑,然后将数据传输给view。

2.control包含了model和view成员。

链接:

MVC框架详解_mvc架构-CSDN博客

MVC架构图如下:

#include <iostream>
#include <vector>

using namespace std;

//Model数据处理器
class Model
{
public:
	void Increace()
	{
		count++;
	}
	void Decreace()
	{
		count--;
	}
	int GetCount()
	{
		return count;
	}
	void SetCount(int num)
	{
		count=num;
	}
private:
	int count{10};
};

//view显示器
class View
{
public:
	void Update(int data)
	{
		cout << data << endl;
	}
};

//Controller控制器
class Controller
{
public:
	Controller(shared_ptr<Model> model, shared_ptr<View> view) :m_model(model), m_view(view)
	{
	}

	void HandleIncrementPressed()
	{
		m_model->Increace();
		m_view->Update(m_model->GetCount());
	}
	void HandleDecrementPressed()
	{
		m_model->Decreace();
		m_view->Update(m_model->GetCount());
	}
private:
	shared_ptr<Model> m_model;
	shared_ptr<View> m_view;
};

int main()
{
	shared_ptr<Model> model= make_shared<Model>();
	shared_ptr<View> view = make_shared<View>();
	shared_ptr<Controller> cont = make_shared<Controller>(model, view);
	cont->HandleDecrementPressed();
	cont->HandleIncrementPressed();
	return 0;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1930302.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 Python 爬虫实现自动获取天气信息并语音播报

简介 在本文中&#xff0c;我将介绍如何使用 Python 编写一个简单的爬虫程序&#xff0c;该程序可以自动获取某个城市的天气信息&#xff0c;并使用语音库将这些信息播报出来。我们将使用 pyttsx3 库进行语音播报&#xff0c;以及 requests 和 lxml 库来获取和解析网页数据。 …

深度刨析程序中的指针

前面我们已经学习过了指针的一下性质&#xff1a; 指针就是个变量&#xff0c;用来存放地址&#xff0c;地址唯一标识的一块内存空间指针的大小是固定的4/8个字节&#xff08;32位平台/64位平台&#xff09;指针是有类型&#xff0c;指针的类型决定了指针的加减整数的步长&…

C语言------指针讲解(2)

目录 一、数组名的理解 二、使用指针访问数组 三、一维数组传参的本质 四、冒泡排序 五、二级指针 六、指针数组 七、指针数组模拟二维数组 一、数组名的理解 通过学习&#xff0c;我们知道&#xff1a;数组名和数组首元素的地址打印出来的结果一模一样&#xff0c;数组…

C语言函数:编程世界的魔法钥匙(1)

目录 1.C语言中的函数是什么&#xff1f; 2.函数的分类&#xff1a; 2.1 标准库函数 2.1.1 库函数的诞生&#xff1a; 2.1.2 库函数的作用&#xff1a; 2.1.3 如何学习使用库函数 2.2 自定义函数 2.2.1 函数的组成&#xff1a; 2.2.2 自定义函数的优点 2.2.3 例题 3…

Windows下安装Mujoco1.50

Windows下安装Mujoco1.50复现强化学习论文 很多经典强化学习算法&#xff08;DDPG、PPO&#xff09;使用Mujoco环境进行实验和评估&#xff0c;配置复现环境非常困难&#xff0c;有以下几点原因&#xff1a; 年代久远&#xff0c;Mujoco-py的依赖管理做的不好&#xff0c;仅限…

Apache trino的ldap认证开启

作者&#xff1a;櫰木 1、背景 由于trino 默认没有开启用户认证体系&#xff0c;需要ldap用户进行认证。开启tls和ldap用户认证&#xff0c;提高安全性。 2、配置 前置条件。 trino 集群已经部署完成 ldap 服务 openjdk 版本大于11.0.17 生成证书 keytool -genkeypair…

实现异步天气数据获取与Spring缓存集成

你好呀&#xff0c;我是小邹。 在Web应用中&#xff0c;实时天气数据的获取是一个常见的需求&#xff0c;特别是在需要频繁更新天气信息的场景下&#xff0c;如旅游网站、天气应用或任何需要展示地理位置相关天气的应用。然而&#xff0c;频繁的外部API调用不仅会增加服务器的…

Hive理论讲解

Hive介绍 1、Hive本质 Hive本质是【数仓设计方案】&#xff0c;hive本身并不存储数据【数据包含&#xff1a;元数据 (表)数据】。 2、hql和sql对比 sql 结构化查询语言【structured query language】hql hive/hadoop类sql查询语言【hive/hadoop query language like sql…

工业三防平板可优化工厂流程管理

在当今高度自动化和数字化的工业生产环境中&#xff0c;工业三防平板正逐渐成为优化工厂流程管理的关键工具。其强大的功能和卓越的性能&#xff0c;为工厂带来了更高的效率、更低的成本以及更出色的质量控制。 工业三防平板&#xff0c;顾名思义&#xff0c;具备防水、防尘、防…

(01)Unity使用在线AI大模型(使用百度千帆服务)

目录 一、概要 二、环境说明 三、申请百度千帆Key 四、使用千帆大模型 四、给大模型套壳 一、概要 在Unity中使用在线大模型分为两篇发布&#xff0c;此篇文档为在Python中使用千帆大模型&#xff0c;整体实现逻辑是&#xff1a;在Python中接入大模型—>发布为可传参的…

eclipse 新建类class文件增加copyright版权信息

1、Window -> Preferences 2、输入code,找到code templates Java > Code Style > Code Templates 比如进行如何的设置&#xff1a; 3、新增类文件&#xff0c;会自动增加版权&#xff1a;

[Vulnhub] digitalworld.local-JOY snmp+ProFTPD权限提升

信息收集 IP AddressOpening Ports192.168.101.150TCP:21,22,25,80,110,139,143,445,465,587,993,995 $ nmap -p- 192.168.101.150 --21,22,25,min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 21/tcp open ftp ProFTPD | ftp-anon: Anonymous FTP logi…

昇思25天学习打卡营第11天|NLP-LSTM-CRF序列标注

打卡 目录 打卡 序列标注 条件随机场(Conditional Random Field, CRF) SCORE计算 SCORE 计算的代码 Normalizer计算 Normalizer 计算的代码实现 Viterbi算法 CRF层组装 BiLSTMCRF模型 模型实例化 模型训练 模型预测 新造一个句子重新预测看效果 序列标注 序列标…

安装adb和常用命令

下载ADB安装包 https://dl.google.com/android/repository/platform-tools-latest-windows.zip 解压安装包 解压如上下载的安装包&#xff0c;然后复制adb.exe所在的文件地址 配置环境变量 我的电脑——>右键属性——>高级系统设置——>环境变量——>系统变量—…

solidity基础语法(以太坊solidity合约)

solidity基础语法&#xff08;以太坊solidity合约&#xff09; 1-值类型和取值范围2-引用类型3-引用类型高阶4-固定数组和动态数组 1-值类型和取值范围 https://learnblockchain.cn/docs/solidity/introduction-to-smart-contracts.html#subcurrency https://learnblockchain…

R语言包AMORE安装报错问题以及RStudio与Rtools环境配置

在使用R语言进行AMORE安装时会遇到报错&#xff0c;这时候需要采用解决办法&#xff1a; AMORE包安装&#xff0c;需要离线官网下载安装包&#xff1a; Index of /src/contrib/Archive/AMORE (r-project.org)https://cran.r-project.org/src/contrib/Archive/AMORE/ 一、出现…

MySQL第九次作业

1、安装redis&#xff0c;启动客户端、验证。 首先选择版本 进去之后是这样&#xff0c;一个是压缩包&#xff0c;一个是安装包 点击下载好的安装包&#xff0c;开始安装 选择“添加Redis目录到环境变量PATH中”&#xff0c;这样方便系统自动识别Redis执行文件在哪里。 其他一…

新版本 idea 创建不了 spring boot 2 【没有jkd8选项】

创建新项目 将地址换成如下 https://start.aliyun.com/

厂家置换电费如何达到最大化收益

新能源行业知识体系-------主目录-----持续更新https://blog.csdn.net/grd_java/article/details/140004020 文章目录 一、电能电费二、同时刻不同厂家置换&#xff0c;不会影响最终电能电费结果三、风险防范补偿和回收机制四、我们的数据如何考虑补偿和回收五、如何利用补偿和…

元宇宙深入解析

元宇宙&#xff08;Metaverse&#xff09;是一个新兴的概念&#xff0c;它激发了技术专家、艺术家和商业领袖的无限想象。它代表着数字互动的新前沿&#xff0c;提供了一个平行的数字宇宙&#xff0c;用户可以在其中实时互动&#xff0c;超越物理世界的限制。 元宇宙是什么&am…