码迷,mamicode.com
首页 > 其他好文 > 详细

案例分析:设计模式与代码的结构特性

时间:2019-11-25 20:47:47      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:hub   异步   图片   java   数据   不同   com   状态   设计   

我要分析的是一个Java框架 RxJava,他是一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库,它能够方便的实现Java的异步操作。

代码仓库:https://github.com/ReactiveX/RxJava

RxJava使用观察者模式,当我们需要使用异步操作时就发送一个数据流,订阅者这个时候被调用去处理异步操作。

技术图片

 

最简单的异步操作如上,通过Subscribe方式注册。观察者模式面向的需求是:A 对象(观察者)对 B 对象(被观察者)的某种变化高度敏感,需要在 B 变化的一瞬间做出反应。举个例子,新闻里喜闻乐见的警察抓小偷,警察需要在小偷伸手作案的时候实施抓捕。在这个例子里,警察是观察者,小偷是被观察者,警察需要时刻盯着小偷的一举一动,才能保证不会漏过任何瞬间。程序的观察者模式和这种真正的『观察』略有不同,观察者不需要时刻盯着被观察者(例如 A 不需要每过 2ms 就检查一次 B 的状态),而是采用注册(Register)或者称为订阅(Subscribe)的方式,告诉被观察者:我需要你的某某状态,你要在它变化的时候通知我。

 

案例分析:设计模式与代码的结构特性

标签:hub   异步   图片   java   数据   不同   com   状态   设计   

原文地址:https://www.cnblogs.com/cgsilent/p/11929927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!