Guava在guava-libraries中为我们提供了事件总线EventBus库,它是事件发布订阅模式的实现,让我们能在领域驱动设计(DDD)中以事件的弱引用本质对我们的模块和领域边界很好的解耦设计。 不再多的废话,直奔Guava EventBus主题。首先Guava为我们提供了同步 ...
一 前言 事件是基于委托的发布 订阅机制 基于windows消息处理机制 通过定义事件,订阅事件 发布事件并且关联业务逻辑,实现系统业务的解耦。发布 订阅机制提供了一种天然的业务解耦方式,所以在系统中使用事件定义业务状态 业务场景,让关联的业务订阅事件,当事件产生时事件订阅者执行业务,这样发布者不必知道订阅者具体的细节 订阅者也不必了解发布者。但是简单的事件无法满足实际生产的使用,因为生产中的业务 ...
2021-11-30 17:08 0 1114 推荐指数:
Guava在guava-libraries中为我们提供了事件总线EventBus库,它是事件发布订阅模式的实现,让我们能在领域驱动设计(DDD)中以事件的弱引用本质对我们的模块和领域边界很好的解耦设计。 不再多的废话,直奔Guava EventBus主题。首先Guava为我们提供了同步 ...
用例:假设公司发布了一个公告 需要通过短信 和 邮件分别2种方式 通知员工 1:首先我们建立领域模型 2:消息模型 这个时候我们会想到 建立2个服务类 一 ...
一、EventBus概述 Guava 事件总线EventBus允许在服务内部的组件之间进行发布-订阅式的通信,是观察者模式的优雅实现。观察者模式和EventBus都需要注册监听者事件,发布者发布事件。 不同在于观察者模式的发布者需要继承Observable,实现事件发布的逻辑,监听 ...
public class EventBus { private static Map<String, EventListener> eventListeners = new HashMap<>(); public static void ...
1. 引言 事件总线这个概念对你来说可能很陌生,但提到观察者(发布-订阅)模式,你也许就很熟悉。事件总线是对发布-订阅模式的一种实现。它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。 我们来看看事件总线的处理流程: 了解了事件总线 ...
EventBus源码解析 概述 EventBus是针一款对Android的发布/订阅事件总线。它可以让我们很轻松的实现在Android各个组件之间传递消息,并且代码的可读性更好,耦合度更低。 如何使用 (1)首先需要定义一个消息类,该类可以不继承任何基类也不需要实现任何接口 ...
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 ...
事件总线框架 针对事件提供统一订阅,发布以达到组件间通信的解决方案。 原理 观察者模式。 EventBus和Otto 先看EventBus的官方定义: 再看Otto官方定义: 总之,简化android应用内组件通信。 对比BroadcastReceiver 在工作上 ...