Rafy中的EventBus】的更多相关文章

EventBus主要是干嘛使的,直接翻译叫事件总线. 是观察者模型的实现,利用它你既可以实现观察者模型的业务场景,还可以基于它的事件驱动机制来实现应用程序内组件之间的解耦与通信. 我们来看看有EventBus的总线结构图,如下: Rafy中的EventBus使用入口是基于上图中Composer组件组合器,使用的时候都是 通过 操作 Composer.EventBus 来控制事件的注册与发布. 所以Composer起到了桥梁的作用,通过它外界可以操作EventBus,那么EventBus是什么呢…
在项目开发过程中,往往有些功能表面看起来简单,但实际开发的结果非常复杂,仔细分析下原因发现很多都是因为附加了许多的额外功能. 真的简单吗? 比如我们对一个电商平台的商品数据做修改的功能来讲,其实非常简单,无非就是运营人员在管理平台中对商品进行修改数据,然后点击提交,核心功能的确很简单,但可能有人会要求对商品的修改都需要增加操作日志,还有人提出需要在商品数据修改后自动去更新检索系统中的数据,有人提要在商品数据修改后需要经过审核人的审核才能生效,还有人提需要给运营人员发邮件通知等等,如此一来这个商品…
Rafy是什么可以通过下面博客来了解 Rafy 领域实体框架演示(3) - 快速使用 C/S 架构部署 - BloodyAngel - 博客园 以下是看源码中的一点记录,供以后学习使用 主要是Rafy中IOC容器的定义,实现方式,用法 下面先看一个图: 这个图片包含,三个方面的内容 以Composer为核心的组件组合器,实现组件间通信. 以IEventBus为核心的事件总线发布订阅机制. 以IObjectContainer为核心的IOC容器. 下面主要从IObjectContainer 接口开始…
为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了.但是只支持了一些简单的.常用的条件查询,支持的力度很有限.特别是遇到对聚合对象的查询时,就不能再使用 Linq,而只能通过构造底层查询树的接口来完成了.由于开发者的聚合查询的需求越来越多,所以本周我们将这部分进行了增强. 接下来,本文将说明 Rafy 框架原来支持的 Linq 语法,以及最新加入的聚合查询支持及用法.   使用 Linq 查询的代码示例 public WarehouseList G…
第一步:在build.gradle中添加依赖dependencies { compile 'org.greenrobot:eventbus:3.0.0'} 第二步:创建一个 Event类: 注意:enum 不是classpublic enum Event { //消息名,可以根据这个名字判断是哪个消息 IMAGE_LOADER_SUCCESS;}//------------主布局文件------------------------ <TextView android:layout_width=&qu…
在vue2中,父子组件传递数据,父组件可以直接传递数据进子组件,而子组件通过调用父组件传递进来的方法,将自己的数据传递回去. 那兄弟组件之间,或者是兄弟组件的子组件之间如何传递呢? 当然vuex是一种解决方案,那如果仅仅使用vue怎么办?一层层传递么? 这里简单说下vue2里面的eventBus. 一个完整的eventBus主要分为三个部分:eventBus组件.注册事件($on).发送事件($emit) eventBus组件 import Vue from 'Vue'; export defa…
1.分析 EventBus是一个针对Android的事件发布和订阅的框架,主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息. 优点:开销小,代码更优雅,以及将发送者和接收者解耦. 2.导入 在build.gradle文件中添加compile'org.greenrobot:eventbus:3.0.0' 3.基本用法 1)自定义一个消息类 public enum TransResultEvent { TRANS_S…
我们在前面分析客户端引用的时候会看到如下这段代码: // 产生开始调用事件 if (EventBus.isEnable(ClientStartInvokeEvent.class)) { EventBus.post(new ClientStartInvokeEvent(request)); } 这里用EventBus调用了一下post方法之后就什么也没做了,就方法名来看是发送了一个post请求,也不知道发给谁,到底有什么用. 所以这一节我们来分析一下EventBus这个类的作用. 首先我们来看一下…
今天在项目中遇到的一个需求: 在一个选项卡功能的页面,出现的问题是,当点击选项卡的某个选项时,会同时加载整个选项卡的数据,本身产品就很大,数据很多,所以这个问题无法忽略: 仔细研究下发现,当刚进入页面时,只会加载当前一个tab的数据,这样是正常的,但当再次点击别的tab时,之前tab的接口就都连带着再次请求一边,只要是不刷新页面,就一直切换tab,一直会有前边的tab数据接口重新请求,项目中tab实现是用的饿了么ui的tab选项卡,在研究了饿了么ui之后发现使用上没有什么问题,而且是子组件的v-…
今天在项目中遇到的一个需求: 在一个选项卡功能的页面,出现的问题是,当点击选项卡的某个选项时,会同时加载整个选项卡的数据,本身产品就很大,数据很多,所以这个问题无法忽略: 仔细研究下发现,当刚进入页面时,只会加载当前一个tab的数据,这样是正常的,但当再次点击别的tab时,之前tab的接口就都连带着再次请求一边,只要是不刷新页面,就一直切换tab,一直会有前边的tab数据接口重新请求,项目中tab实现是用的饿了么ui的tab选项卡,在研究了饿了么ui之后发现使用上没有什么问题,而且是子组件的v-…