RxJava2源码分析-类的命名规则

这篇文章没啥技术的东西,只是看源码的时候发现了RxJava2类的命名规则,感觉了解一下有助于看源码:
先上示例代码:

        Observable.create((ObservableOnSubscribe) e -> {
            e.onNext(1);
            e.onNext(2);
            e.onComplete();
        }).map(new Function() {
            @Override
            public Integer apply(Integer i) throws Exception {
                return i + 10;
            }
        })
          .doOnNext(new Consumer() {
              @Override
              public void accept(Integer i) throws Exception {
                      System.out.println("doOnNext : i= " + i);
              }
          })
          .subscribe(i -> System.out.println("onNext : i= " + i));
  1. 在Observable.create方法里会生成一个ObservableOnSubscribe参数的包装类,类名是Observable+方法名,所以这里叫ObservableCreate
  2. .map方法会生成一个Function参数的包装类,类名叫ObservableMap

看到这里就明白了,Observable中的方法会生成Observable+方法名的类,包装了传递的参数

  1. 在Observable的子类的subscribeActual方法里,调用source.subscribe方法时,传递的参数的类名是当前类的类名去掉Observable后,在最后加上Observer,如ObservableMap类给source.subscribe传递的就是MapObserver

你可能感兴趣的:(RxJava2源码分析-类的命名规则)