EventBus 使用/架构/源码分析】的更多相关文章

EventBus是针对Android优化的发布-订阅事件总线,简化了Android组件间的通信.EventBus以其简单易懂.优雅.开销小等优点而备受欢迎. github 地址:https://github.com/greenrobot/EventBus 1. 使用 1.1 gradle中引入 api 'org.greenrobot:eventbus:3.0.0' 1.2 定义事件 定义一个类作为事件,可以在类中定义不同的参数,发布者赋值,订阅者取值. public class TestEven…
// daemon/daemon.go 1.func NewDaemon(cfg config.Config) *Daemon 调用containerStore, err := meta.NewStore(...)创建存储 调用containerd, err := ctrd.NewClient(ctrd.Config{...})构建containerd的client 最后,构建并返回&Daemon{}结构 // daemon/daemon.go 2.func (d *Daemon) Run()…
MyBatis 运行过程 传统的 JDBC 编程查询数据库的代码和过程总结. 加载驱动. 创建连接,Connection 对象. 根据 Connection 创建 Statement 或者 PreparedStatement 来执行 sql 语句. 返回结果集到 ResultSet 中. 手动将 ResultSet 映射到 JavaBean 中. public static void main(String[] args) { //声明Connection对象 Connection con =…
先把栗子放上,让大家方便测试用: Service端 public static void main(String[] args) { ServerConfig serverConfig = new ServerConfig() .setProtocol("bolt") // 设置一个协议,默认bolt .setPort(12200) // 设置一个端口,默认12200 .setDaemon(false); // 非守护线程 ProviderConfig<HelloService&…
SOFARPC源码解析系列: 1. 源码分析---SOFARPC可扩展的机制SPI 2. 源码分析---SOFARPC客户端服务引用 3. 源码分析---SOFARPC客户端服务调用 4. 源码分析---SOFARPC服务端暴露 5.源码分析---SOFARPC调用服务 6.源码分析---和dubbo相比SOFARPC是如何实现负载均衡的? 7.源码分析---SOFARPC是如何实现连接管理与心跳? 8.源码分析---从设计模式中看SOFARPC中的EventBus? 9.源码分析---SOFA…
SOFARPC源码解析系列: 1. 源码分析---SOFARPC可扩展的机制SPI 2. 源码分析---SOFARPC客户端服务引用 3. 源码分析---SOFARPC客户端服务调用 4. 源码分析---SOFARPC服务端暴露 5.源码分析---SOFARPC调用服务 6.源码分析---和dubbo相比SOFARPC是如何实现负载均衡的? 7.源码分析---SOFARPC是如何实现连接管理与心跳? 8.源码分析---从设计模式中看SOFARPC中的EventBus? 9.源码分析---SOFA…
IEventData/EventData: 封装了EventData信息,触发event的源对象和时间 IEventBus/EventBus: 定义和实现了了一系列注册,注销和触发事件处理函数的方法.EventBus定义了一个Dictionary容器来存放事件和处理该事件的对象(其实不是对象而是Factory,暂且这样理解无妨).其key是Type:在ABP使用Type表示不同的事件,具体而言这个type是EventData派生类的类型.EventData在ABP中有两个作用:第一用于封装事件数…
  本文主要参考官方文档"How Orchard works"以及Orchardch上的翻译.   源码分析应该做到庖丁解牛,而不是以管窥豹或瞎子摸象.所以先对Orchard架构有个整体的了解,以及对一些基本概念有所认识.   创建一个基于Web的CMS(内容管理系统)不同于创建一个普通的Web应用程序:它更像是建立一个应用程序容器. 这样一个系统,必须拥有优良的开放性.可扩展性.但是作为一个可扩展系统,它可能会面临应用程序"可用性"的挑战:在系统中的核心模块与未知…
Caching-缓存架构与源码分析 首先奉献caching的开源地址[微软源码] 1.工程架构 为了提高程序效率,我们经常将一些不频繁修改,但是使用了还很大的数据进行缓存.尤其是互联网产品,缓存可以说是提升效率优化第一利器.微软为我们实现了俩种缓存方式:内存缓存.分布式缓存.个人理解如果缓存在前端电脑内存的缓存叫做内存缓存,如果缓存在其它设备上,那么叫做分布式缓存. 俩种缓存方式的优缺点 我开发程序经历过三个时间点,开始的时候从来不使用缓存,之后将数据缓存在内存中,最后使用分布式缓存.内存缓存的…
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据. Hessian理解起来也是比较简单的,其主要结构分为客户端和服务端,中间是基于http传输的.客户端主要做的事情就是把对远程接口调用序列化为流,并传输到服务端:服务端主要做的事情就是把传输过来的流反序列化为对服务的请求,调用相应服务后会把结果序列化为流返回给客户端…