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

MVC_Publish-Subscriber 模式中的事件处理程序

MVC_Publish-Subscriber 模式中的事件处理程序

MVC 中的事件处理:发布者-订阅者模式

在这里插入图片描述

程序启动时,controlRecipes将被传入addHandlerRender;

addHandlerRender会侦听事件(addEventListener),并使用controlRecipes作为回调;

  • 事件应在控制器中处理(否则视图中就会出现应用逻辑);
  • 事件应在视图中监听(否则我们就需要在控制器中使用DOM元素)

代码中实现

我们就使用加载和切换的监听的事件来举例;

  addHandlerRender(handler) {
    ['hashchange', 'load'].forEach(ev => window.addEventListener(ev, handler));
  }
  • 然后我们在控制器调用它
const init = function () {
  recipeView.addHandlerRender(controlRecipes);
};

init();

在这里插入图片描述

MVC(Model-View-Controller) 架构中,发布-订阅模式(Publish-Subscriber Pattern) 是一种常见的设计模式,用于处理事件和消息传递。它通过解耦事件的发布者和订阅者,使系统更灵活、可扩展。;

  • 订阅事件:向事件中心注册事件处理函数。
  • 处理事件:在事件触发时执行预定义的逻辑。
  • 取消订阅:在不需要时移除事件处理函数。

相关文章:

  • 图搜索的两种写法,广度优先和深度优先
  • 大型语言模型(LLM)部署中的内存消耗计算
  • c++ 基础题目lambda
  • C++学习之路,从0到精通的征途:类和对象(下)
  • C++ STL 之常用排序算法①sort②random_shuffle③merge④reverse
  • Git 回退操作详解:带示例的“小白”指南
  • 6k ± 1 规则
  • 考研数学二:函数、极限与连续知识架构与易错点全解析
  • 性能测试-负载测试平台 Artillery
  • 我的Gitee
  • 2025.3.17总结
  • 图 最 短 路
  • 数组题型-二分查找-JS
  • 【SpringCloud】Eureka、LoadBalancer和Nacos
  • 点阵取模中的字节正序和字节倒序
  • c++基础知识-图论进阶
  • ChatGPT智能聊天机器人实现
  • 【函数式编程】【C#/F#】第四讲:单子与函子 - 抽象的编程模式
  • 重生之我在学Vue--第18天 Vue 3 项目功能扩展
  • “Failed to Load SteamUI.dll” 错误详解:全面解析与高效解决方案,助你快速修复 Steam 客户端问题
  • 图讯丨习近平出席中国-拉美和加勒比国家共同体论坛第四届部长级会议开幕式
  • 对话郑永年:我们谈判也是为世界争公义
  • 退休10年后,70岁成都高新区管委会原巡视员王晋成被查
  • 《单身情歌》制作人韩贤光去世,林志炫发文悼念
  • 三大股份制银行入局AIC,一级市场再迎“活水”
  • 伊美第四轮核问题谈判开始