java吧 关注:1,276,699贴子:12,792,907
  • 2回复贴,共1

如何使用事件派发器模式——Spring Boot项目

只看楼主收藏回复

主要模块
XXXEventDispatcher类
核心类,维护事件类型(EventType)到处理器(handler)的映射(存放在ConcurrentHashMap中);这个类在启动时,会通过XXXEventHandlerInitializer初始化这个map数据结构;在启动时,需要订阅或监听来自消息队列的事件;当对应的事件到达时,该类的dispatch方法会负责将事件分发到具体的处理器方法中进行处理。

XXXEventHandlerInitializer类
这个类包括具体的业务处理方法,在系统初始化的时候,会将这些业务处理方法的方法引用注册到派发器中。


XXXEventHandler:函数式接口
函数式接口是Java 8 中实现Lambda函数式编程的基础工具,思想就是要讲函数作为参数传递。如下图所示,这些方法引用都是该函数式接口的实现。

代码如下:


1楼2020-06-27 09:57回复
    XXXEventContext类
    这个类用于存储入参和返回值,具体情况可以灵活处理。

    XXXEventType枚举
    这个类显然用于存储事件类型

    总结:在企业级开发中,有很多典型的应用场景和模式,事件派发器只是其中的一种,希望你也能够根据自己的实际情况加以应用


    2楼2020-06-27 09:59
    回复
      2025-09-03 23:35:49
      广告
      不感兴趣
      开通SVIP免广告
      免费提供java技术干货以及面试资料,零基础到架构师都有,有需要的朋友记得私聊我哦!


      3楼2020-06-27 09:59
      回复