重写事件抛发接收机制原理
关于js中事件侦听和抛发机制的一些基础简单重构,通过这个简单重构了解中介者模式的工作方式,以下就是要做的简单重构方案
思路:
创建EmitterTarget
类和EmitterEvent
类。
EmitterTarget
类主要使用了中介模式+观察者模式
其中EmitterTarget
类的实例化属性list充当中介角色,每当执行add方法时,给EmitterTarget
类的实例化对象注册事件名称及触发函数;每当该对象执行remove
方法时,从list列表中移除注册的事件及触发函数;
dispatchEvent
方法主要是发送事件对象本体,目的是为了在指定时刻触发事件函数以及传递数据参数。
==EmitterTarget
类实例化对象本身就是观察者,观察者的特点是有add
,remove
,触发改变的函数(update
或这里的dispatchEvent
),以及应该有用于存放注册信息的属性或者单例对象。
==EmitterEvent
类主要是用来创建事件对象本身,在创建时声明需要触发的事件类型以及需要携带的参数。
EmitterTarget.ts代码如下:
EmitterTarget.ts代码如下:
使用demo:
1.定义需要使用事件抛发的类
2.具体抛发操作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架