代码拉取完成,页面将自动刷新
package com.ycl.blog.designmode.eventbus;
import java.util.List;
import java.util.concurrent.Executor;
/**
* User: 杨成龙
* Date: 2020/4/13
* Time: 9:16 上午
* Desc: 消息总线入口方法
*/
public class EventBus {
private ObserverRegistry registry = new ObserverRegistry();
private Executor executor;
public EventBus() {
}
public EventBus(Executor executor) {
this.executor = executor;
}
/**
* 注册观察者
*/
public void register(Object observer) {
registry.register(observer);
}
/**
* 发布者-发送消息
*/
public void post(Object event) {
List<ObserverAction> observerActions = registry.getMatchedObserverActions(event);
for (ObserverAction observerAction : observerActions) {
if (executor == null) {
observerAction.execute(event);
} else {
executor.execute(() -> {
observerAction.execute(event);
});
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。