新聞中心
1.什么是回調(diào)函數(shù)

創(chuàng)新互聯(lián)公司成都網(wǎng)站建設(shè)按需策劃,是成都網(wǎng)站營銷公司,為成都雨棚定制提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站維護(hù)熱線:18982081108
回調(diào)函數(shù)(callbackFunction),顧名思義,用于回調(diào)的函數(shù)?;卣{(diào)函數(shù)只是一個功能片段,由用戶按照回調(diào)函數(shù)調(diào)用約定來實現(xiàn)的一個函數(shù)。回調(diào)函數(shù)是一個工作流的一部分,由工作流來決定函數(shù)的調(diào)用(回調(diào))時機?;卣{(diào)函數(shù)包含下面幾個特性:
屬于工作流的一個部分;
必須按照工作流指定的調(diào)用約定來申明(定義);
他的調(diào)用時機由工作流決定,回調(diào)函數(shù)的實現(xiàn)者不能直接調(diào)用回調(diào)函數(shù)來實現(xiàn)工作流的功能;
2.C#回調(diào)機制
C#回調(diào)機制是一種常見的設(shè)計模型,他把工作流內(nèi)的某個功能,按照約定的接口暴露給外部使用者,為外部使用者提供數(shù)據(jù),或要求外部使用者提供數(shù)據(jù)。
如上圖所示,工作流提供了兩個對外接口(獲取參數(shù)、顯示結(jié)果),以回調(diào)函數(shù)的形式實現(xiàn)。
“獲取參數(shù)”回調(diào)函數(shù),需要工作流使用者設(shè)定工作流計算需要的參數(shù)。
“顯示結(jié)果”回調(diào)函數(shù),提供計算結(jié)果給工作流使用者。
3.C#回調(diào)機制應(yīng)用
使用回調(diào)機制,可以為工作流實現(xiàn)擴展??梢园压ぷ髁髦行枰脩舾深A(yù)的,或需要提供給用戶的數(shù)據(jù)以回調(diào)的模式提供給用戶。而用戶不需要知道整個工作的流程,只需知道回調(diào)函數(shù)的說明就可以使用工作流模塊提供的功能,這對信息的隱藏也是有作用的。
4.回調(diào)機制的實現(xiàn)形式
回調(diào)函數(shù)
虛擬函數(shù)
事件
example:以虛函數(shù)實現(xiàn)回調(diào)機制(有時間補充C#版本)
- Code
- classCWorkFlow
- {
- voidinit()
- {
- _a=0;
- _b=0;
- }
- int_a;
- int_b;
- public:
- voidStart()
- {
- //初始化
- init();
- //調(diào)用處理數(shù)據(jù)
- Handle(a,b);
- //報告結(jié)果
- Report(a,b);
- }
- virtualvoidHandle(int&a,int&b)=0;
- virtualvoidReport(intiRet)=0;
- };
- classCMain:
- publicCWorkFlow
- {
- public:
- voidHandle(int&a,int&b)
- {
- a=a+b/2;
- }
- voidReport(intiRet)
- {
- printf("iRet=%d\n",iRet);
- }
- };
- //application
- intmain()
- {
- CMainmain;
- main.Start();
- }
本文來自王之永的博客園博文《C#回調(diào)》
【編輯推薦】
- C#參數(shù)類型學(xué)習(xí)筆記
- 處理C#消息的方法
- C#重載LoadPostData方法
- 概述C#復(fù)合控件構(gòu)建
- C# JavaScript函數(shù)使用
名稱欄目:詳解什么是C#回調(diào)
鏈接URL:http://fisionsoft.com.cn/article/cdgjohc.html


咨詢
建站咨詢
