首页 > Android 接口回调

Android 接口回调

接口回调是算观察者模式么


不是,但观察者模式是通过回调实现的


其实按照楼主真正想问的意思,可以说你理解的也算对,观察者模式最普遍的例子就是回调函数


不算是观察者模式吧,不过可以实现观察者模式


不能说接口回调就是观察者模式,但是观察者模式使用了接口回调


接口回调不算是观察者模式

回调的例子:在Java中,方法的参数可以传递对象,在参数中传递实现某个接口的类的时候,就可以实现在这个方法中调用参数对象的方法,一般情况下你在调用A方法时传递了一个实现了B接口的匿名对象b(之说以说是匿名是因为没有复制给有名字的引用,如B b = new B()则不是匿名对象),那么在A方法内部,你则可以调用对象b的方法,此时调用b的方法,则进入到对象b复写B接口的方法中,回调就是这样子实现的。

观察者模式:指的是在有一个被观察对象,被观察对象通常持有观察者对象(各种Listener就是观察者对象,通常被观察者内部会有一个List保持这些引用)的引用,一个被观察对象可以给多个观察对象注册监听(观察这个对象的改变),当被观察对象的内容有改变的时候,会调用内部的方法遍历所有观察者对象(各种Listener,例如View中的OnClickListener等等),调用这些监听器对象的对应的内容改变方法,通知观察者有事件变化了,让观察者做出对应改变,所以观察者模式只是借助了回调来实现,并不能说回调就是观察者模式。


是观察者模式,只不过他是一种特殊的观察者模式。接口回调是一对一,观察者模式是一对多。观察者模式只不过是接口回调换了个好听的名字而已,原理还是一样的。

【热门文章】
【热门文章】