阅读量:0
重点:
1.用户通过界面操作,传输到control,control可以直接去处理View,或者通过模型处理业务逻辑,然后将数据传输给view。
2.control包含了model和view成员。
链接:
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; }