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) 是一种常见的设计模式,用于处理事件和消息传递。它通过解耦事件的发布者和订阅者,使系统更灵活、可扩展。;

  • 订阅事件:向事件中心注册事件处理函数。
  • 处理事件:在事件触发时执行预定义的逻辑。
  • 取消订阅:在不需要时移除事件处理函数。
相关推荐
bing_15810 小时前
Spring MVC 视图解析器 (ViewResolver) 如何配置? Spring Boot 是如何自动配置常见视图解析器的?
spring boot·spring·mvc
Kx…………14 小时前
Java EE(Spring+Spring MVC+MyBatis)从入门到精通企业级应用开发教程——1初识MyBatis框架
学习·spring·java-ee·mvc·mybatis
喝养乐多长不高2 天前
Spring Web MVC基础理论和使用
java·前端·后端·spring·mvc·springmvc
bing_1583 天前
Spring MVC Controller 方法的返回类型有哪些?
java·spring·mvc
triticale3 天前
【Spring】Spring MVC笔记
笔记·spring·mvc
yuren_xia4 天前
Spring MVC中跨域问题处理
java·spring·mvc
bing_1584 天前
Spring MVC中Controller是如何把数据传递给View的?
java·spring·mvc
程序员buddha5 天前
【Spring Boot】Spring Boot + Thymeleaf搭建mvc项目
spring boot·后端·mvc
神秘的t5 天前
Spring Web MVC————入门(1)
java·spring·mvc
志存高远665 天前
MVC、MVP、MVVM三大架构区别
架构·mvc