java回調函數實例(Struts2源碼)

首先舉例說明什麼是回調函數,程序員A寫了一段程序(程序a),其中預留有回調函數接口,並封裝好了該程序。程序員B要讓a調用自己的程序b中的一個方法,於是,他通過a中的接口回調自己b中的方法。目的達到。在struts2的源碼中就有這樣的例子:

com.opensymphony.xwork2.inject.ContainerImpl中有如下方法

此外還有這個回調接口:

以下是在注入方法中進行了調用:

從以上代碼中可以看到,在new ContextualCallable接口的實例進行傳參後,我們可以在接口提供的call方法中寫一些處理的代碼,而這段代碼會主調方法callInContext來進行回調。這樣就達到了擴展性的目的,callInContext方法是事先寫好的代碼,但是其中可動態插入調入者的代碼邏輯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章