安卓开发 季度总结四

总结 安卓的  回调机制 

1.编程工作的层次 :  系统编程(写库方法,写API)

                                   应用编程(调用API去实现功能)

2. 系统和应用如何统一起来去实现一个功能?

    用三种机制去解决   a.  同步机制

                                    b.  异步机制

                                    c.  回调机制

3.一般正向代码 流程 都是 应用调用  API 的方法  去实现功能。

举个例子:

快速取快递,方法一:轮询(不停弟下楼去查看快递到家没有)

                      方法二 :委托(叫保安电话通知)

回调函数   就是自己写的,但不是自己来调用,而是给别人来调用的函数。

回调函数    又称为  钩子函数。

回调的过程         分三个部分 :起始函数

                                            中间函数    

                                            回调函数

                           上层调用下层了,下层执行回调函数。

如图所示:

回调方式 :阻塞式回调 

                   延迟式回调

回调方法的优势:   异步回调

示例图1:

示例图2:

类比:                框架模式之 -----------------观察者模式

定义:  对象之间 的一种   一对多的 依赖关系。

            当一个  对象的状态发生 改变之时,所有依赖 它的对象都得到了 通知  并且自动更新。

         类似于:

                            

角色概念:

Subject(被观察者): 提供一个  具体被观察者的 接口,定义了  添加,移除,通知等操作。

ConcreteSubject( 具体被观察者) : 实现或者继承Subject 将有关的状态存入具体观察者对象,在内部状态变化时候,通知其所有的ConCreteObserver(具体观察者)。

Observer( 抽象观察者) : 提供一个 具体观察者 接口,定义了 实现通知的方法。

ConCreteObserver(具体观察者): 实现Observer,实现 或者 继承 通知方法,根据不同需求,添加逻辑代码。

目标Demo:

当订阅一个微信公众号时,如果这个微信公众号有新的推送消息,就会收到这个推送消息。

在这里:

微信公众号-----------》被观察者(Subject)

其中一个公众号----------》具体被观察者(ConcreteSubject)

全部订阅者-----------》抽象观察者(Observer)

其中一个订阅者------》具有观察者(ConcreteObserver)

猜你喜欢

转载自blog.csdn.net/lwzy1314/article/details/82107621