[發明專利]一種在軟件設計中避免狀態輪詢的方法在審
| 申請號: | 201910307597.7 | 申請日: | 2019-04-17 |
| 公開(公告)號: | CN110321180A | 公開(公告)日: | 2019-10-11 |
| 發明(設計)人: | 陸成剛;吳兵;李威;葉超凡;陳剛 | 申請(專利權)人: | 浙江工業大學 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448 |
| 代理公司: | 杭州斯可睿專利事務所有限公司 33241 | 代理人: | 王利強 |
| 地址: | 310014 浙江省*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 被控 函數指針 主控模塊 軟件設計 事件觸發 業務事件 引用 輪詢 調用 指向 調用函數 計算資源 接口函數 輪詢機制 內容封裝 指針指向 主動模塊 初始化 響應 節約 | ||
一種在軟件設計中避免狀態輪詢的方法,主控模塊能夠引用、調用被控模塊的接口函數,被控模塊不能引用、調用主動模塊的函數;所述方法包括以下步驟:1)主控模塊將被控模塊中的業務事件需要響應的內容封裝成一個函數;2)定義一個函數指針,使其初始化為指向上述函數;3)在被控模塊里引用該函數指針;4)當被控模塊的業務事件發生時,如果該函數指針指向非空,則調用函數指針指向的函數,否則就不執行該函數。本發明可以避免在主控模塊里采用輪詢機制實現事件觸發,從而達到節約計算資源,事件觸發更加實時的效果。
技術領域
本發明屬于軟件設計領域,涉及一種在軟件設計中避免狀態輪詢的方法。
背景技術
在軟件設計中最常規的一種方法論是按照層次從高到低、或從低到高將軟件劃分為若干層;或者是從模塊角度將軟件劃分為若干模塊組成的系統。在這樣的方法論下,層次之間、模塊之間需要作一些信息交互,才能組成一個有機的整體。一般來說這些交互信息分成兩類:一、控制類信息;二、需要傳遞的數據。前者偏邏輯或流程的控制,后者偏參與運算(計算)的數據的傳遞。
此外,在軟件設計中還鼓勵這樣一種理念:界面層和業務層分離,即界面代碼和業務代碼不能相互纏繞,可以在界面層里引用、調用業務層代碼封裝的接口函數,但不鼓勵同時在業務層引用、調用界面層封裝的接口。雖然這也是設計的常規思路,但凡事皆有例外,有時候界面層和業務層很難分離,有時候需要在業務層調用界面層以便作業務的某種可視功能。例如,在Windows系統WIN32開發框架下鍵盤與鼠標的回調接口是無法做界面和業務分離的;而AC97聲卡開發接口WaveXXX系列里使用回調函機制實現音頻數據給業務層處理,此時如果要可視音頻的波形勢必導致在業務層調用界面層的代碼。這些都是例外的情形。
一般無論層次之間還是模塊之間傳遞控制信息時,傳遞者和接收者之間存在著邏輯上的主動被動之分,主動層或模塊稱為主控模塊。例如界面和業務之間是界面主動、業務被動,界面是主控模塊。常見的GUI圖形界面或觸摸屏,都是由用戶通過鼠標、鍵盤或觸擊來觸發底層業務模塊的調用運行的。但是當業務數據處理得到某個事件,并且由該事件觸發某種需要在界面上的狀態可視化,這時候界面作為主控模塊是無法觸發這個事件的,通常技術上采用狀態輪詢的方式。即由界面啟一個線程去輪詢業務模塊是否發生該事件,一旦發生即刻觸發該狀態的界面可視處理。一般這個問題普遍存在于主控模塊和被控模塊之間,而觸發事件又是生成在被控模塊。此時,由于被控模塊無法觸發,只能由主控模塊去輪詢被控模塊里的事件狀態。而輪詢本身會消耗一定的計算資源,更重要的無論輪詢次數的間隔時長大小,總會導致事件狀態變更和事件觸發的延時。
發明內容
為了克服已有軟件設計方法中輪詢導致事件狀態變更和事件觸發的延時的不足,本發明提供了一種在軟件設計中避免狀態輪詢的方法,可以避免在主控模塊里采用輪詢機制實現事件觸發,從而達到節約計算資源,事件觸發更加實時的效果。
本發明解決其技術問題所采用的技術方案是:
一種在軟件設計中避免狀態輪詢的方法,主控模塊能夠引用、調用被控模塊的接口函數,被控模塊不能引用、調用主動模塊的函數;所述方法包括以下步驟:
1)主控模塊將被控模塊中的業務事件需要響應的內容封裝成一個函數;
2)定義一個函數指針,使其初始化為指向上述函數;
3)在被控模塊里引用該函數指針;
4)當被控模塊的業務事件發生時,如果該函數指針指向非空,則調用函數指針指向的函數,否則就不執行該函數。
進一步,所述主控模塊中,將事件響應操作進行封裝,提供接口供被控模塊調用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江工業大學,未經浙江工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910307597.7/2.html,轉載請聲明來源鉆瓜專利網。





