美文网首页
接口回调案例二

接口回调案例二

作者: 飞兔子 | 来源:发表于2016-12-15 21:52 被阅读0次

    1: 谁是观察者?谁是被观察者? 回调方法是谁?谁回调的?

    闹钟事件:

    观察者是 User,  被观察者是 闹钟 ,  User接收闹钟响铃()  , 被观察者持有观察者的接口来回调的。

    点击事件:

    OnClickListener 子类是观察者,系统接受点击事件的机制, 重写的onclick是回调方法,系统回调的。

    ListView: 

     自定义的adapter是观察者,被观察者是DataSetObservable,重写的getView()是回调方法,被观察者回回调。

    2:观察者和被观察者如何联系的?

    myAdapter extends SimpleAdapter //具体的观察者

    listview.setAdapter(Adapter adapter)//把具体的观察者上下文环境注册到被观察者中,让被观察者持有观察者的引用。通过这个引用来进行回调。

    被观察者内部拥有一个装有观察者实例对象的集合List<观察者接口>,(通过接口指向子类的引用)方便对观察者进行管理,遍历回调所有的观察者

    3:什么时候要用到观察者模式呢?

    (观察者模式扩展性好 方便管理观察者)

    一个事件的触发会引起多个事件并行产生的时候,你就要考虑用这个小婊砸了。这样可以很方便的对这多个事件的订阅或者取消进行管理。

    eg: 当触发京东支付这个事件,会引起 1 订单记录的产生 ,2 京东发货 , 3 短信消费反馈 ,

    4:参考《android 源码设计模式解析与实战》  , android studio查看系统的源码。

    相关文章

      网友评论

          本文标题:接口回调案例二

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