美文网首页
Observable类图

Observable类图

作者: 狼性刀锋 | 来源:发表于2018-02-23 11:40 被阅读38次

    ObservableRxSwift中的一个很重要的概念,俗称可被观察者,可以被别人观察的一个对象,那么我们来看看 Observable的继承关系类图

    Observable Class Diagram

    Observable.png

    首先分层实施的很彻底,每一层都只解决一件事情,一层层叠起来结构非常清晰
    ObservableConvertibleType:顾名思义即可转换为Observable 类型协议,方法只有一个asObservable,这有什么好处呢?

    • 用户不需要关注其具体是哪个类型对象
    • 让用户更多的关注其核心功能

    ObservableType:抽象方法subscribe,即我们常说的订阅,只有外部订阅了该对象,才能真正实现对该对象进行观察
    Observable:真正的用户级别对象,对于用户来说Observable 的功能是完整的,因为它已经具备了所有的用户所需要的功能,尽管有些方法并没有得到实现仍是抽象方法
    Producer: 实现subscribe 方法
    AnonymousObservable: 实现run方法

    事实上用户所使用的** Observable** ,都是 Producer 的子类和AnonymousObservable平行的子类,只不过用户不需要关心其具体实现罢了
    每一个类似** AnonymousObservable的类,还有一个与之相关的类AnonymousObservableSink**,Sink即管道,所有这些组合起来才能让其真正运行起来。

    整个设计向上通过组合协议的方式描述其特性,向下通过子类化的方式屏蔽其实现细节,类似于工厂模式,这样的类也可以叫类簇

    相关文章

      网友评论

          本文标题:Observable类图

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