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

麓谷做网站的公司信用网站建设工作总结

麓谷做网站的公司,信用网站建设工作总结,wordpress 二级目录安装,哈尔滨网络公司平台MVC模式中#xff0c;视图和模型之间直接交互#xff0c;而MVP模式下#xff0c;视图与模型通过Presenter进行通信#xff0c;MVVM则采用双向绑定#xff0c;减少手动同步视图和模型的工作。每种模式都有其优缺点#xff0c;适合不同规模和类型的项目。 ### MVVM 与 MVP…MVC模式中视图和模型之间直接交互而MVP模式下视图与模型通过Presenter进行通信MVVM则采用双向绑定减少手动同步视图和模型的工作。每种模式都有其优缺点适合不同规模和类型的项目。 ### MVVM 与 MVP/MVC 的区别 1. **数据绑定** - MVVM 强调 View 和 ViewModel 的自动同步。 - MVP/MVC 需要手动更新 View。 2. **View 的主动性** - MVVM 中View 是完全被动的。 - MVP 中View 需要通过 Presenter 更新。 - MVC 中View 可以直接监听 Model 的变化。 3. **适用场景** - MVVM 更适合需要频繁更新 UI 的场景如 GUI 应用。 - MVP/MVC 更适合简单的逻辑控制。 1.MVC模式 Model 负责存储和管理数据。 View 负责显示数据。 Controller 负责处理用户输入并更新模型然后通知视图更新显示。 1. 模型Model 模型负责管理应用程序的数据和业务逻辑。 // model.h #ifndef MODEL_H #define MODEL_Htypedef struct {int data; } Model;void Model_init(Model *model); void Model_setData(Model *model, int data); int Model_getData(Model *model);#endif // MODEL_H // model.c #include model.hvoid Model_init(Model *model) {model-data 0; }void Model_setData(Model *model, int data) {model-data data; }int Model_getData(Model *model) {return model-data; } 2. 视图View 视图负责显示数据给用户。 // view.h #ifndef VIEW_H #define VIEW_H#include model.htypedef struct {Model *model; } View;void View_init(View *view, Model *model); void View_display(View *view);#endif // VIEW_H // view.c #include view.h #include stdio.hvoid View_init(View *view, Model *model) {view-model model; }void View_display(View *view) {printf(Data: %d\n, Model_getData(view-model)); } 3. 控制器Controller 控制器负责处理用户输入并更新模型。 // controller.h #ifndef CONTROLLER_H #define CONTROLLER_H#include model.h #include view.htypedef struct {Model *model;View *view; } Controller;void Controller_init(Controller *controller, Model *model, View *view); void Controller_updateData(Controller *controller, int data);#endif // CONTROLLER_H // controller.c #include controller.hvoid Controller_init(Controller *controller, Model *model, View *view) {controller-model model;controller-view view; }void Controller_updateData(Controller *controller, int data) {Model_setData(controller-model, data);View_display(controller-view); } 4. 主程序 主程序将模型、视图和控制器组合在一起。 // main.c #include model.h #include view.h #include controller.hint main() {Model model;View view;Controller controller;Model_init(model);View_init(view, model);Controller_init(controller, model, view);// 模拟用户输入Controller_updateData(controller, 10);Controller_updateData(controller, 20);return 0; } 5. 输出结果 Data: 10 Data: 20 2.MVP模式 MVPModel-View-Presenter是MVC模式的一种变体它将视图和模型之间的交互通过Presenter主持人来协调。 Model 负责存储和管理数据。 View 负责显示数据并将用户输入传递给Presenter。 Presenter 负责处理用户输入更新模型并通知视图更新显示。 与MVC模式不同MVP模式中视图和模型之间没有直接交互所有的交互都通过Presenter来协调。这种设计使得视图和模型之间的耦合度更低更易于测试和维护。 1. 模型Model 模型负责管理应用程序的数据和业务逻辑。 // model.h #ifndef MODEL_H #define MODEL_Htypedef struct {int data; } Model;void Model_init(Model *model); void Model_setData(Model *model, int data); int Model_getData(Model *model);#endif // MODEL_H // model.c #include model.hvoid Model_init(Model *model) {model-data 0; }void Model_setData(Model *model, int data) {model-data data; }int Model_getData(Model *model) {return model-data; } 2. 视图View 视图负责显示数据并将用户输入传递给Presenter。 // view.h #ifndef VIEW_H #define VIEW_Htypedef struct {void (*displayData)(int data); // 显示数据的回调函数 } View;#endif // VIEW_H 3. Presenter主持人 Presenter负责处理视图的输入更新模型并通知视图更新显示 // presenter.h #ifndef PRESENTER_H #define PRESENTER_H#include model.h #include view.htypedef struct {Model *model;View *view; } Presenter;void Presenter_init(Presenter *presenter, Model *model, View *view); void Presenter_updateData(Presenter *presenter, int data);#endif // PRESENTER_H // presenter.c #include presenter.hvoid Presenter_init(Presenter *presenter, Model *model, View *view) {presenter-model model;presenter-view view; }void Presenter_updateData(Presenter *presenter, int data) {// 更新模型Model_setData(presenter-model, data);// 从模型获取数据并通知视图更新int currentData Model_getData(presenter-model);presenter-view-displayData(currentData); } 4. 主程序 主程序将模型、视图和Presenter组合在一起。 // main.c #include stdio.h #include model.h #include view.h #include presenter.h// 视图的具体实现 void displayData(int data) {printf(Current Data: %d\n, data); }int main() {Model model;View view;Presenter presenter;// 初始化Model_init(model);view.displayData displayData; // 设置视图的回调函数Presenter_init(presenter, model, view);// 模拟用户输入Presenter_updateData(presenter, 10);Presenter_updateData(presenter, 20);return 0; } 5.输出结果 Current Data: 10 Current Data: 20 3.MVVM模式 MVVMModel-View-ViewModel是一种常用于GUI应用程序的设计模式它将视图View与模型Model通过视图模型ViewModel进行解耦。MVVM的核心思想是通过数据绑定将视图和视图模型连接起来但由于C语言本身不支持数据绑定等高级特性我们需要通过手动方式模拟MVVM的行为。 Model 负责存储和管理数据。 View 负责显示数据并将用户输入传递给视图模型。 ViewModel 负责将模型的数据转换为视图可以显示的形式并处理视图的输入。 在MVVM模式中视图和模型之间没有直接交互所有的交互都通过视图模型来协调。视图模型通过回调函数通知视图更新显示从而实现了视图和模型的解耦。 1. 模型Model 模型负责管理应用程序的数据和业务逻辑。 // model.h #ifndef MODEL_H #define MODEL_Htypedef struct {int data; } Model;void Model_init(Model *model); void Model_setData(Model *model, int data); int Model_getData(Model *model);#endif // MODEL_H // model.c #include model.hvoid Model_init(Model *model) {model-data 0; }void Model_setData(Model *model, int data) {model-data data; }int Model_getData(Model *model) {return model-data; } 2. 视图模型ViewModel 视图模型负责将模型的数据转换为视图可以显示的形式并处理视图的输入。 // viewmodel.h #ifndef VIEWMODEL_H #define VIEWMODEL_H#include model.htypedef struct {Model *model;void (*onDataChanged)(int data); // 数据改变时的回调函数 } ViewModel;void ViewModel_init(ViewModel *viewModel, Model *model); void ViewModel_setData(ViewModel *viewModel, int data); int ViewModel_getData(ViewModel *viewModel);#endif // VIEWMODEL_H // viewmodel.c #include viewmodel.hvoid ViewModel_init(ViewModel *viewModel, Model *model) {viewModel-model model;viewModel-onDataChanged NULL; // 初始化为空 }void ViewModel_setData(ViewModel *viewModel, int data) {//非常很重要,关键的一笔!!// 更新模型Model_setData(viewModel-model, data);// 通知视图数据已改变if (viewModel-onDataChanged ! NULL) {viewModel-onDataChanged(data);} }int ViewModel_getData(ViewModel *viewModel) {return Model_getData(viewModel-model); } 3. 视图View 视图负责显示数据并将用户输入传递给视图模型。 // view.h #ifndef VIEW_H #define VIEW_H#include viewmodel.htypedef struct {ViewModel *viewModel; } View;void View_init(View *view, ViewModel *viewModel); void View_display(View *view); void View_userInput(View *view, int data);#endif // VIEW_H // view.c #include view.h #include stdio.h// 数据改变时的回调函数 static void onDataChanged(int data) {printf(Data Updated: %d\n, data); }void View_init(View *view, ViewModel *viewModel) {view-viewModel viewModel;viewModel-onDataChanged onDataChanged; // 设置回调函数 }void View_display(View *view) {int data ViewModel_getData(view-viewModel);printf(Current Data: %d\n, data); }void View_userInput(View *view, int data) {// 将用户输入传递给视图模型ViewModel_setData(view-viewModel, data); } 4. 主程序 主程序将模型、视图模型和视图组合在一起。 // main.c #include model.h #include viewmodel.h #include view.hint main() {Model model;ViewModel viewModel;View view;// 初始化Model_init(model);ViewModel_init(viewModel, model);View_init(view, viewModel);// 显示初始数据View_display(view);// 模拟用户输入View_userInput(view, 10);View_userInput(view, 20);return 0; } 5. 输出结果 Current Data: 0 Data Updated: 10 Data Updated: 20 **在deep seek协助下
http://www.w-s-a.com/news/723397/

相关文章:

  • ds216j做网站做购物网站那个好
  • 做淘宝门头的网站阿里巴巴官网app
  • 安踏网站建设策划方案如何通过域名访问网站
  • 建设网站破解版seo查询 站长之家
  • 太原模板建站平台旅游企业网站建设工作的通知
  • 网站国外建设超级简历模板官网
  • 上海网站建设市场医药网站怎么做
  • 宁夏成城建设集团网站网店美工课本
  • 哪些网站的简历做的比较好政务服务 网站 建设方案
  • 如何建设个人网站凡科怎么样vps安装wordpress后怎样登录
  • 学seo朝阳区seo
  • 网站开发团队成员皮具网站建设
  • 国外外贸需求网站响应式布局网页
  • 手机端便民服务平台网站建设昆明网络哪家好
  • 产品网站建设找哪家舟山信息港
  • 唐山网站建设汉狮怎么样seol英文啥意思
  • 深圳小程序网站开发公司网页制作模板视频教程
  • 电子商务网站开发开题报告wordpress更改后台地址
  • 网站静态前端是什么工作
  • 餐饮门户网站 方案怎么做创业好项目
  • 做百度手机网站推广普通话的宣传标语
  • 记事本可以做网站吗网站服务器是主机吗
  • 手机网站被拦截怎么办怎么解决东营建设信息网网
  • 外贸网站模板免费微信网站开发技术
  • 视频盗版网站怎么做福州网站seo
  • 成都金铭 网站建设做网站包含的技术
  • 长沙的网站建设公司哪家好做网站应选那个主题
  • 公司网站百度搜不到如何自己做一个网站
  • 学生如何建设网站网站开发程序
  • 网站建设公司哪家好 皆来磐石网络网站建设"淘宝网" 在颜色选取和搭配方面有哪些值得学习的地方.