本文章属于专栏- 概述 - 《设计模式(极简c++版)》-CSDN博客
模式说明:
- 方案: MVC模式将应用程序分为三个核心组件:Model(模型)、View(视图)、Controller(控制器)。Model负责管理应用程序的数据和业务逻辑,View负责将数据呈现给用户,Controller负责接收用户输入并更新Model和View。
- 优点: 分离关注点,使得代码更易于维护和扩展;增强了代码的可重用性;允许并行开发,不同团队可同时工作在Model、View、Controller的不同部分。
- 缺点: 对于简单的应用可能会引入过多的代码结构;需要学习成本高;复杂的关系可能难以管理。
本质思想:Controller接受输入之后,更新Model,组织View。将本地缓存数据和展示数据解耦合,让不同组织之间合作效率更高
实践建议:MVC模式,最开始是做桌面应用GUI的。后来也被广泛应用在前后端结合的服务中,将前端和后端解耦,对团队效率提升极大
代码示例:
#include <iostream>
#include <string>
// Model
class BirdModel {
private:
std::string name;
int age;
public:
BirdModel(const std::string& n, int a) : name(n), age(a) {}
std::string getName() const {
return name;
}
int getAge() const {
return age;
}
};
// View
class BirdView {
public:
void displayBird(const std::string& name, int age) const {
std::cout << "Bird Name: " << name << ", Age: " << age << std::endl;
}
};
// Controller
class BirdController {
private:
BirdModel model;
BirdView view;
public:
BirdController(const std::string& name, int age) : model(name, age) {}
void displayBird() const {
std::string name = model.getName();
int age = model.getAge();
view.displayBird(name, age);
}
};
int main() {
BirdController controller("Sparrow", 2);
controller.displayBird();
return 0;
}
// 输出:
// Bird Name: Sparrow, Age: 2