回調設計模式 -开发者知识库

回調設計模式 -开发者知识库,第1张

0. 引言

使用過SDK的朋友應該知道“回調函數”(callback function)這個概念,但本文並不是介紹如何使用回調函數,而是站在SDK開發者的角度,講述如何實現回調機制。

1. 何為回調(callback)

所謂回調,就是客戶程序C調用服務程序S中的某個函數A,然后S又在某個時候反過來調用C中的某個函數B,對於C來說,這個B便叫做回調函數。例如Win32下的窗口過程函數就是一個典型的回調函數。

一般說來,C不會自己調用B,C提供B的目的就是讓S來調用它,而且是C不得不提供。由於S並不知道C提供的B叫甚名誰,所以S會約定B的接口規范(函數原型),然后由C提前通過S的一個函數R告訴S自己將要使用B函數,這個過程稱為回調函數的注冊,R稱為注冊函數。

下面舉個通俗的例子:

某天,我打電話向你請教問題,當然是個難題,:),你一時想不出解決方法,我又不能拿着電話在那里傻等,於是我們約定:等你想出辦法后打手機通知我,這樣,我就掛掉電話辦其它事情去了。過了XX分鍾,我的手機響了,你興高采烈的說問題已經搞定,應該如此這般處理。故事到此結束。

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复