美文网首页
1. RxJava2 : 什么是观察者模式

1. RxJava2 : 什么是观察者模式

作者: 0青衣小褂0 | 来源:发表于2019-02-12 11:58 被阅读91次

    1. RxJava2 : 什么是观察者模式
    2. RxJava2 : 创建操作符(无关时间)
    3. Rxjava2 : 创建操作符(有关时间)
    4. Rxjava2 : 变换操作符
    5. Rxjava2 : 判断操作符
    6. Rxjava2 : 筛选操作符
    7. Rxjava2 : 合并操作符
    8. Rxjava2 : do操作符
    9. Rxjava2 : error处理
    10. Rxjava2 : 重试
    11. Rxjava2 : 线程切换

    观察者模式:

    Observable - > 被观察者(也可以称为发布者 用作事件的发起 名词)
    Observer - > 观察者(用作事件的接收 名词)
    Subscribe - > 订阅(用于连接被观察者和观察者 动词) 
    Element -> 元素(也可以称之为事件 名词)
    

    传统的观察者模式(伪代码)

    1. 订阅 : 被观察者,通过订阅的方式,采集所有的观察者(即加入到mObservers集合当中)
    2. 观察 : 当有元素变化的时候,调用setData(Element element),遍历集合,调用每一个加入到集合中的观察者(注册过的)的upData(Element element),从而做到被观察者变化,每一个注册过的观察者均会感知
    3. 元素 : Element 封装需要感知状态的对象
    4. 模型 : (EventBus模型)
      一个Observable作为发起(发布者)
      -> 可以注册(订阅)一个或多个Observer(订阅者)
      -> 发布者元素变化
      -> 订阅者接收到元素变化
    public class MyObservable {
        private List<MyObserve> mObservers = new ArrayList();
        
        private void subscribe(MyObserve observe){
            mObservers.add(observe);
        }
    
        private void unsubscribe(MyObserve observe){
            mObservers.remove(observe);
        }
    
        private void setData(MyElement element){
            for (MyObserve observer : mObservers) {
                observer.upData(element);
            }
        }
    }
    
    public class MyObserve {
        public void upData(MyElement element){
    
        }
    }
    

    rxjava中的观察者模式

    1. 一般情况: 观察者和被观察者都是一一对应的:即一个Observable对应一个Observer
    2. 在使用各种操作符的过程当中,我们操作的一个一个的元素
    3. 模型:
      一个Observable发起(可能具有一个或多个元素,一般称之为上游)
      -> 之后均被称之为下游
      -> 操作符使元素产生变化
      -> 一个Observer作为接收变化之后的元素

    相关文章

      网友评论

          本文标题:1. RxJava2 : 什么是观察者模式

          本文链接:https://www.haomeiwen.com/subject/jgkbsqtx.html