MVC(Model-View-Controller)模式三个主要组件:模型(Model),视图(View),和控制器(Controller):
模型(Model):
模型负责数据和业务逻辑。在这个场景中,模型可以简单地保存用户输入的数据:
#include <string>
class Model {
private:
std::string inputData;
public:
void setInputData(const std::string& data) {
inputData = data;
}
std::string getInputData() const {
return inputData;
}
// 在真实场景中,可能有更多的业务逻辑方法
};
视图(View):
视图负责显示用户界面,并处理用户的输入。如下面代码,视图可以简单地输出一些信息并接收用户输入。
#include <iostream>
#include <string>
class View {
public:
void displayMessage(const std::string& message) {
std::cout << message << std::endl;
}
std::string getUserInput() {
std::string input;
std::cout << "Enter data: ";
std::cin >> input;
return input;
}
// 可能还有其他显示方法,如显示提交成功等
};
控制器(Controller):
控制器协调模型和视图之间的交互,处理用户输入和更新模型和视图。
#include "Model.h"
#include "View.h"
class Controller {
private:
Model model;
View view;
public:
void run() {
view.displayMessage("Welcome to MVC Example");
// 获取用户输入
std::string userInput = view.getUserInput();
// 更新模型
model.setInputData(userInput);
// 显示提交成功消息(模拟)
view.displayMessage("Data submitted successfully.");
// 在真实应用中,可能还会有更复杂的业务逻辑和数据处理
}
};
主函数:
在主函数中,初始化控制器并运行整个应用程序。
int main() {
Controller controller;
controller.run();
return 0;
}
总结
在这个示例中,模型(Model)负责管理数据,视图(View)负责显示界面并接收用户输入,控制器(Controller)负责协调视图和模型之间的交互。用户通过界面输入数据后,控制器负责更新模型中的数据,并通知视图显示相应的消息。