基于java8的事件驱动分发机制的实现

        事件分发机制,就好比部门领导给下属分活,不同的活可以分配给不同的人去做,领导分活这个过程不占用时间,所有公司boss所有的事情都扔给部门领导就行了。boss不需要关心是谁干了活。

        以上是一些简单的描述,懂了就懂了。下面说一下事件分发机制和消息机制的一点点区别,事件驱动就是来了就派给指定的人,消息机制就是部门领导不停回去问有那些消息或者事件需要处理,或者是pull和push的区别。

      消息机制需要一个消息循环队列不停地遍历,当出现消息选择不处理或者选择相应的处理方式,最典型的就是键盘消息,使用switch+callback模式。

    下面进入正题,要实现事件分发机制的步骤。

1.创建一个事件引擎,可以注册事件的类型,以及处理该事件类型的handler。

2.需要一个事件队列,存放事件源。

3.需要实现事件发布的接口。

4.编写至少一种事件处理handler。

java代码实现:

1.事件引擎

public abstract class AbstractEventEngine {
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    protected Map<EventType, LinkedList<Pair<Event, EventHandler<Event, Boolean>>>> listeners;

    public AbstractEventEngine() {
        listeners = new HashMap<EventType, LinkedLis
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值