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

創(chuàng)新互聯(lián)公司成都網(wǎng)站建設(shè)按需策劃,是成都網(wǎng)站營銷公司,為成都雨棚定制提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開發(fā)等。成都網(wǎng)站維護(hù)熱線:18982081108
回調(diào)函數(shù)(callbackFunction),顧名思義,用于回調(diào)的函數(shù)?;卣{(diào)函數(shù)只是一個(gè)功能片段,由用戶按照回調(diào)函數(shù)調(diào)用約定來實(shí)現(xiàn)的一個(gè)函數(shù)?;卣{(diào)函數(shù)是一個(gè)工作流的一部分,由工作流來決定函數(shù)的調(diào)用(回調(diào))時(shí)機(jī)?;卣{(diào)函數(shù)包含下面幾個(gè)特性:
屬于工作流的一個(gè)部分;
必須按照工作流指定的調(diào)用約定來申明(定義);
他的調(diào)用時(shí)機(jī)由工作流決定,回調(diào)函數(shù)的實(shí)現(xiàn)者不能直接調(diào)用回調(diào)函數(shù)來實(shí)現(xiàn)工作流的功能;
2.C#回調(diào)機(jī)制
C#回調(diào)機(jī)制是一種常見的設(shè)計(jì)模型,他把工作流內(nèi)的某個(gè)功能,按照約定的接口暴露給外部使用者,為外部使用者提供數(shù)據(jù),或要求外部使用者提供數(shù)據(jù)。
如上圖所示,工作流提供了兩個(gè)對外接口(獲取參數(shù)、顯示結(jié)果),以回調(diào)函數(shù)的形式實(shí)現(xiàn)。
“獲取參數(shù)”回調(diào)函數(shù),需要工作流使用者設(shè)定工作流計(jì)算需要的參數(shù)。
“顯示結(jié)果”回調(diào)函數(shù),提供計(jì)算結(jié)果給工作流使用者。
3.C#回調(diào)機(jī)制應(yīng)用
使用回調(diào)機(jī)制,可以為工作流實(shí)現(xiàn)擴(kuò)展??梢园压ぷ髁髦行枰脩舾深A(yù)的,或需要提供給用戶的數(shù)據(jù)以回調(diào)的模式提供給用戶。而用戶不需要知道整個(gè)工作的流程,只需知道回調(diào)函數(shù)的說明就可以使用工作流模塊提供的功能,這對信息的隱藏也是有作用的。
4.回調(diào)機(jī)制的實(shí)現(xiàn)形式
回調(diào)函數(shù)
虛擬函數(shù)
事件
example:以虛函數(shù)實(shí)現(xiàn)回調(diào)機(jī)制(有時(shí)間補(bǔ)充C#版本)
- Code
- classCWorkFlow
- {
- voidinit()
- {
- _a=0;
- _b=0;
- }
- int_a;
- int_b;
- public:
- voidStart()
- {
- //初始化
- init();
- //調(diào)用處理數(shù)據(jù)
- Handle(a,b);
- //報(bào)告結(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ù)使用
網(wǎng)站名稱:詳解什么是C#回調(diào)
URL鏈接:http://www.dlmjj.cn/article/cdgjohc.html


咨詢
建站咨詢
