EventBus

EventBus/EventQueue 再思考

馋奶兔 提交于 2020-08-13 02:13:15
EventBus/EventQueue 再思考 Intro 之前写过两篇文章,造轮子系列的 EventBus / EventQueue ,回想起来觉得当前的想法有点问题,当时对 EvenStore 可能有点误解,有兴趣可以参考 https://www.cnblogs.com/weihanli/p/implement-a-simple-event-bus.html / https://www.cnblogs.com/weihanli/p/implement-event-queue.html , 最近把 Event 相关的逻辑做了一个重构,修改 EventStore ,引入了 IEventHandlerFactory ,重新设计了 Event 相关的组件 重构后的 Event Event: 事件的抽象定义 EventHandler:事件处理器抽象定义 EventHandlerFactory:事件处理器工厂,用来根据事件类型获取事件处理器(新增) EventPublisher:事件发布器,用于事件发布 EventSubscriber:事件订阅器,用于管理事件的订阅 EventSubscriptionManager:事件订阅管理器,在 EventSubscriber 的基础上增加了一个根据事件类型获取事件订阅器类型的方法 EventBus:事件总线,由 EventPubliser 和

结合 AOP 轻松处理事件发布处理日志

隐身守侯 提交于 2020-08-12 07:43:06
结合 AOP 轻松处理事件发布处理日志 Intro 前段时间,实现了 EventBus 以及 EventQueue 基于 Event 的事件处理,但是没有做日志(EventLog)相关的部分,原本想增加两个接口, 处理事件发布日志和事件处理日志,最近用了 AOP 的思想处理了 EntityFramework 的数据变更自动审计,于是想着事件日志也用 AOP 的思想来实现,而且可能用 AOP 来处理可能会更好一些,最近自己造了一个 AOP 的轮子 —— FluentAspects,下面的示例就以它来演示了,你也可以换成自己喜欢的 AOP 组件,思想是类似的 事件日志示例 事件发布日志 事件发布日志只需要拦截事件发布的方法调用即可,在发布事件时进行拦截,在拦截器中根据需要进行日志记录即可 事件发布者接口定义: public interface IEventPublisher { /// <summary> /// publish an event /// </summary> /// <typeparam name="TEvent">event type</typeparam> /// <param name="event">event data</param> /// <returns>whether the operation succeed</returns> bool

详谈字节跳动2020年Android开发岗社招真题,看看你能走到哪一步?

こ雲淡風輕ζ 提交于 2020-08-12 04:20:33
首先说一下,今日头条的面试主要分为 三轮到四轮 ,如果是 旺季面三轮 ,首先是基础面试, 基本面试一般10个题左右 ,最近 面试了一下字节跳动的移动Android资深工程师 , 记录下博客 。 现在 网络疯传都2020年了,Android开发早凉了!是真的吗? 我相信 很多朋友对职业规划很迷茫! 推荐阅读 :( 2020年Android开发人员打破寒冬期的利器在哪里?是转行还是进阶? ) 这篇文档会帮你在迷茫中指明方向! 第一面是 北京的开发进行视频面试 ,有 理论和编程题 组成。用的是在线编程工具,如下图。 第一面 1、请你编程实现单例模式,懒汉和饱汉写法? //饱汉写法public static Singleton getInstance() { if (singleton == null) { synchronized (Singleton.class) { if (singleton == null) { singleton = new Singleton(); } } } return singleton; } //懒汉写法 private static final Singleton1 single = new Singleton1(); //静态工厂方法 public static Singleton1 getInstance() { return single; }

Flutter仿京东

随声附和 提交于 2020-08-11 23:58:05
01-02 Flutter仿京东商城项目 功能分析、底部导航Tab切换以及路由配置、架构搭建:(Flutter仿京东商城项目 首页布局以及不同终端屏幕适配方案) 03Flutter仿京东商城项目 封装适配库以及实现左右滑动ListView 04Flutter仿京东商城项目 首页商品列表布局 05-06 Flutter JSON和序列化反序列化、创建模型类转换Json数据、轮播图数据渲染:Flutter创建商品数据模型 、请求Api接口渲染热门商品 推荐商品 07-08 Flutter仿京东商城项目 商品分类页面布局:Flutter仿京东商城项目 商品分类页面数据渲染 09 Flutter底部Tab切换保持页面状态的几种方法 10 Flutter仿京东商城项目 商品分类跳转到商品列表传值 商品列表页面布局 11 Flutter仿京东商城项目 商品列表页面二级筛选导航布局 12 Flutter仿京东商城项目 商品列表页面请求数据、封装Loading Widget、上拉分页加载更多 13 Flutter仿京东商城项目 商品列表筛选以及上拉分页加载更多 14 Flutter仿京东商城项目 头部搜索导航布局 修改主题 修正ScreenAdapter类 15 Flutter仿京东商城项目 搜索页面布局 16 Flutter仿京东商城项目 跳转到搜索页面实现搜索功能 以及搜索筛选 17

记第一次面试之被面试官毒打--android开发实习岗位

…衆ロ難τιáo~ 提交于 2020-08-11 20:44:14
一、前言 记本人第一次面试的经历,希望能给即将面试的小伙伴一些经验。 对于面试完以后,我的心态是这样的。 委屈的话不多说,说多了都是自己技术不到家,不怪别人。接下来我来复盘一下这次面试的一些内容和知识点,给大家看看,也给我自己以后”以史明鉴“,顺便充充电。 废话不多说,接下来进入正文。 二、面试ing part 1 - 自我介绍 面试官:先自我介绍一下。 我:我叫***… 事后总结:由于一开始没有准备如何更好的介绍自己,所以这段自我介绍就是很平淡无奇了,没有什么突出的地方。所以我建议小伙伴们在面试前能准备一段比较有想法的自我介绍,让面试官能够记住你,有一个良好的第一印象。 part 2 - 知识问答环节 2-1:安卓开发中的的布局 面试官:说说你用过哪些安卓开发中的布局。 我:我常用的布局有线性布局、相对布局、帧布局。 事后总结:我回答得也太简短了吧。是不是应该把安卓的常用布局都列出来,每种布局的特点都简单讲一下。然后再说自己常用的布局。由于知识储备匮乏,和问一句答一句,导致这场视频面试只用了17分钟不到就结束了。(心里顿时凉了半截) 2-2:viewHolder 面试官:简单说一下viewHolder。 我:这个好像没有用过。 事后总结:WTF???怎么就会答了没用过呢???ListView、RecyclerView的适配器里不是都用到了嘛??这组件平时也没算少用啊

诺禾-EventBus/EventQueue 再思考

五迷三道 提交于 2020-08-11 13:56:03
最近把 Event 相关的逻辑做了一个重构,修正 EventStore,引入了 IEventHandlerFactory,重新设计了 Event 相关的组件 重构后的 Event Event: 事情的笼统定义 EventHandler:事情处置器笼统定义 EventHandlerFactory:事情处置器工厂,用来依据事情类型获取事情处置器(新增) EventPublisher:事情发布器,用于事情发布 EventSubscriber:事情订阅器,用于管理事情的订阅 EventSubscriptionManager:事情订阅管理器,在 EventSubscriber 的根底上增加了一个依据事情类型获取事情订阅器类型的办法 EventBus:事情总线,由 EventPubliser 和 EventSubscriber 组合而成,用来比拟便当的做事情发布和订阅 EventQueue:事情队列,希望某些音讯次第处置的时分能够思索用 EventQueue 的形式 EventStore:事情存储,事情的耐久化存储(在之前的版本里,EventStore 实践作用是一个 EventSubscriptionManager,在最近的版本更新中已修正) 以上 EventSubscriber 和 EventSubscriptionManager 普通不直接用,普通用 EventBus 来处置即可

接地气的面试记录:记一次Android面试心得

家住魔仙堡 提交于 2020-08-10 04:47:44
最近看到很多人都在找工作, 而且很多人都感觉今年找工作比去年难很多, 竞争力也增加不少, 因此激发我整理这份资料, 希望能帮到正在找或者准备找工作的童鞋们. 首先我们能否获得一个面试机会, 那肯定是从简历开始, 简历需要做好功夫, 一份好的简历才足够吸引企业得到面试机会, 接着就是面试了, 面试前必须要先做好准备, 多看一下前辈们总结面试题, 有哪一方面不足的地方赶紧补充一下, 还有要了解一下你即将面试那家公司. 一、简历 网上有很多对程序员简历的一些指导,这里就不重述,大家可以搜下网上其他大神的总结,结合自身情况修改下。我有几点建议: 1.尽量不要花哨,程序员和设计师或者产品运营还不一样,我们的简历成功与否决定权还是在技术面试官那,而他们 看重的是你的项目经验内容和技术等描述。 2. 技能描述这块尽量只写你懂得而且理解深刻的, 可以适当加入一些新技术或流行框架,不过这块需要理解,没来得及看源码的可以看看大神们对它的总结,网上一大堆。 3. 项目经验这块尽量加入关键词, 比如使用了什么技术、用到哪些设计模式、优化数据对比、扩展总结之类的。而非一味地介绍这个项目内容(那是产品经理的描述),比如性能优化这块,分为UI性能优化、内存优化、数据库优化、网络优化、耗电优化等等。可以从 1).如何发现问题 2).怎么解决问题 3).解决效果对比,这几个方面去描述。举个简单例子——UI优化

uni学习笔记分享

[亡魂溺海] 提交于 2020-08-09 18:12:05
目录介绍 01.遇到问题汇总 02.关于布局设置 03.基础语法总结 04.关于交互问题 06.关于回传数据 07.关于网络请求 08.关于页面刷新 09.关于注意问题 10.待解决和思考 01.遇到问题汇总 在我的页面,给item设置分割线时,定义view的class为line出现问题,但是把名称修改成cell-line就可以。猜想可能是设置class名称时,用line有冲突。 从A页面跳转B页面,关闭B返回到A,如何回传数据?看了往上方案,发现都有问题,最后用存取值替代。 比如切换页面布局视图刷新时,我的页面登陆,未登陆,会员,使用v-if替代v-show方式刷新页面。 网络请求,在学员信息页面,使用post提交数据,需要设置header请求头,否则会出现请求异常 数据绑定,比如动态改变view的背景颜色,建议用class设置替代style设置 在data中给字段赋值,建议赋值方式是''字符串,即使是整型。比如使用sex : "3"替代sex : 3 当父,子等多层控件都有点击事件的时候,为了避免冒泡事件冲突,可以加上@tap.stop阻止冒泡事件 图片引入,设置相对路径有时不生效,这是为什么?根据柯佳的规范文档,建议url的引入规则使用绝对路径 在省市区地区控件中,即使给scroll-view的父view设置了高度,仍然要给scroll-view设置高度,不然会撑满页面 02

EventBus/EventQueue 再思考

最后都变了- 提交于 2020-08-07 13:19:26
EventBus/EventQueue 再思考 Intro 之前写过两篇文章,造轮子系列的 EventBus / EventQueue ,回想起来觉得当前的想法有点问题,当时对 EvenStore 可能有点误解,有兴趣可以参考 https://www.cnblogs.com/weihanli/p/implement-a-simple-event-bus.html / https://www.cnblogs.com/weihanli/p/implement-event-queue.html , 最近把 Event 相关的逻辑做了一个重构,修改 EventStore ,引入了 IEventHandlerFactory ,重新设计了 Event 相关的组件 重构后的 Event Event: 事件的抽象定义 EventHandler:事件处理器抽象定义 EventHandlerFactory:事件处理器工厂,用来根据事件类型获取事件处理器(新增) EventPublisher:事件发布器,用于事件发布 EventSubscriber:事件订阅器,用于管理事件的订阅 EventSubscriptionManager:事件订阅管理器,在 EventSubscriber 的基础上增加了一个根据事件类型获取事件订阅器类型的方法 EventBus:事件总线,由 EventPubliser 和