1. 程式人生 > >回撥模式的經典型和複雜變形簡介

回撥模式的經典型和複雜變形簡介

 分析如下:對於回撥模式,我們可以這樣理解:A類中某個物件m的某個方法,呼叫了B類的某個物件的某個方法doB();
但是doB()方法的方法體中,再次呼叫了A類中物件的的另一個方法doA();此處有幾個定義:
 A類:回撥類
 doA():回撥方法
 A物件m:回撥物件
注意:這種經典的回撥模式,要保證回撥物件的唯一,在B類一般是通過引數的傳遞,來接收A類中建立的回撥物件,而不能在B類中直接建立使用。一般情況下:回撥方法是以下面這這種形式出現在回撥類中的,讓回撥類實現一個含有回撥方法doA()的介面,這樣做的目的就是回撥類A就必須實現doA()這個方法,也就是說,回撥方法要以介面的形式出現在回撥類中,此時的這個介面被稱為是回撥介面。
回撥方法的經典型比較簡單,但是基於經典的變形有很多,
下圖就是一個稍微複雜的變形: