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

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

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

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

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

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

代码中实现

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

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

init();

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

  • 订阅事件:向事件中心注册事件处理函数。
  • 处理事件:在事件触发时执行预定义的逻辑。
  • 取消订阅:在不需要时移除事件处理函数。
相关推荐
Evand J1 天前
【MATLAB例程】一维非线性状态滤波对比:经典EKF、MCC-EKF、MVC-EKF。在含异常测量的场景下,对比三种滤波方法的估计曲线和误差统计。
matlab·mvc·ekf·滤波·mcc
任性的芝麻1 天前
ASP.NET MVC 中的异步方式
后端·asp.net·mvc
任性的自行车1 天前
ASP.NET MVC 4路线图
后端·asp.net·mvc
zzb158019 天前
ios基础-MVC-UIView
ios·mvc·cocoa
秋雨梧桐叶落莳21 天前
iOS——QQ音乐仿写项目总结
学习·macos·ui·ios·mvc·objective-c·xcode
mikasa66722 天前
关于Spring MVC 基于 AOP 实现的全局控制器统一处理方案@ControllerAdvice
java·spring·mvc
仍然.22 天前
Spring MVC(2)--- 介绍响应数据,具体案例和三层架构
mvc
仍然.23 天前
Spring MVC(1)---介绍Spring MVC 和 请求数据
java·spring·mvc
摇滚侠25 天前
Spring MVC 不是一个单独的框架,是 Spring 框架的一个模块
java·spring·mvc
我登哥MVP1 个月前
Spring Boot 从“会用”到“精通”:SpringBoot MVC 请求处理全流程
java·spring boot·后端·spring·mvc·maven·intellij-idea