程序結(jié)構(gòu)設(shè)計(jì)_第1頁(yè)
程序結(jié)構(gòu)設(shè)計(jì)_第2頁(yè)
程序結(jié)構(gòu)設(shè)計(jì)_第3頁(yè)
程序結(jié)構(gòu)設(shè)計(jì)_第4頁(yè)
程序結(jié)構(gòu)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

智能儀器技術(shù)應(yīng)用程序框架和設(shè)計(jì)模式什么是設(shè)計(jì)模式?一種LabVIEW程序模板與架構(gòu)

軟件實(shí)踐中通用的程序架構(gòu),其本質(zhì)是對(duì)很多十分類似的問(wèn)題進(jìn)行總結(jié)歸納的基礎(chǔ)上提煉出的一些具有代表性的軟件開(kāi)發(fā)規(guī)范具有靈活的配置功能被廣泛使用使用設(shè)計(jì)模式的益處簡(jiǎn)化整個(gè)開(kāi)發(fā)過(guò)程更容易理解程序代碼代碼可重用可靠性被使用多年,被證明其“可用并可靠”大量技術(shù)資源與例程使用設(shè)計(jì)模式注意事項(xiàng)1、不是一成不變的定律,既要知道有哪些設(shè)計(jì)模式,還要知道每種模式解決實(shí)際應(yīng)用中的哪些問(wèn)題,是如何解決的,效果如何?2、文本式編程語(yǔ)言中廣泛使用的設(shè)計(jì)模式在圖形化數(shù)據(jù)流編程中的應(yīng)用問(wèn)題。注意!有些時(shí)候你沒(méi)有必要選用最復(fù)雜的設(shè)計(jì)模式不要忘記最常見(jiàn)的設(shè)計(jì)模式——數(shù)據(jù)流!通用型:狀態(tài)機(jī)模式、

消息隊(duì)列模式、

用戶界面事件模式專用型:主從線程模式、

生產(chǎn)/消費(fèi)模式、

后臺(tái)服務(wù)模式、 應(yīng)用程序啟動(dòng)模式、

代理模式LabVIEW設(shè)計(jì)模式

本講內(nèi)容應(yīng)用程序框架和設(shè)計(jì)模式1.2.3.4.基于循環(huán)和分支結(jié)構(gòu)的程序框架基于事件結(jié)構(gòu)的程序框架標(biāo)準(zhǔn)狀態(tài)機(jī)生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式本講內(nèi)容本講討論的問(wèn)題如何建立一個(gè)具有一定規(guī)模的完整應(yīng)用程序?

應(yīng)用程序框架和設(shè)計(jì)模式應(yīng)用程序框架(ApplicationFramework)?

供軟件開(kāi)發(fā)者使用的用以實(shí)現(xiàn)特定編程環(huán)境下應(yīng)用程序標(biāo)準(zhǔn)結(jié)構(gòu)的軟件框架;例如微軟VisualC++中包含的MFC框架(不僅僅是函數(shù)庫(kù),還包含程序框架);

應(yīng)用程序框架是根據(jù)大量的研發(fā)經(jīng)驗(yàn)總結(jié)出的一套切實(shí)可行的應(yīng)用程序建立模型。降低開(kāi)發(fā)難度,提高程序的健壯性;需要投入一定的時(shí)間學(xué)習(xí)其使用方法;

編寫小程序時(shí)不需要對(duì)程序框架有很清楚的概念;編寫具有一定規(guī)模的程序時(shí),使用一個(gè)好的程序框架顯得非常重要。?

應(yīng)用程序框架和設(shè)計(jì)模式設(shè)計(jì)模式(DesignPattern)?

設(shè)計(jì)模式是針對(duì)軟件設(shè)計(jì)中經(jīng)常發(fā)生的問(wèn)題的通用的和可重用的解決方案。它是對(duì)如何解決一個(gè)問(wèn)題的描述或模板,可以在多種不同場(chǎng)合下使用。 在LabVIEW中,設(shè)計(jì)模式是解決常見(jiàn)軟件設(shè)計(jì)問(wèn)題的VI結(jié)構(gòu)。設(shè)計(jì)模式一般以模板的形式出現(xiàn),其目的為提高重用性、編程效率和質(zhì)量。 (LabVIEWStyleBook)?

應(yīng)用程序框架和設(shè)計(jì)模式設(shè)計(jì)模式?

設(shè)計(jì)模式促進(jìn)了好的編程樣式。如果一個(gè)應(yīng)用程序中的所有VI都應(yīng)用了常用的設(shè)計(jì)模式,那么開(kāi)發(fā)者們就可以很容易地識(shí)別、理解、維護(hù)和重用彼此的程序代碼。設(shè)計(jì)模式容易制作成模板,構(gòu)建程序時(shí)經(jīng)??梢詮哪0彘_(kāi)始,按照自己的需求修改模板,而不是總是從頭建立程序。這樣將節(jié)約很多開(kāi)發(fā)時(shí)間,并且確保所開(kāi)發(fā)的所有VI結(jié)構(gòu)一致。在一個(gè)多個(gè)開(kāi)發(fā)者協(xié)作的組織中,設(shè)計(jì)模式和模板有助于建立統(tǒng)一的標(biāo)準(zhǔn),以確保整個(gè)組織的所有成員所研發(fā)軟件具有一致的高質(zhì)量。?

應(yīng)用程序框架和設(shè)計(jì)模式應(yīng)用程序框架vs.設(shè)計(jì)模式

設(shè)計(jì)模式包括解決各種軟件問(wèn)題的通用方案,其范圍廣闊;應(yīng)用程序框架僅針對(duì)“應(yīng)用程序如何架構(gòu)”這一具體問(wèn)題。

設(shè)計(jì)模式程序框架設(shè)計(jì)模式解決其他問(wèn)題的設(shè)計(jì)模式

1.基于循環(huán)和分支結(jié)構(gòu)的程序框架輪詢(Polling)

在循環(huán)結(jié)構(gòu)中不斷查詢控件的狀態(tài),一旦判定發(fā)生用戶事件(例如按下一個(gè)按鈕)則執(zhí)行相應(yīng)的代碼。輪詢常用于按鈕按下操作的響應(yīng)。例1:響應(yīng)按下按鈕操作(輪詢)用戶界面事件模式“我需要輪詢用戶的操作,但是這樣會(huì)降低我程序的運(yùn)行速度,并且有時(shí)我還檢測(cè)不到……”1.基于循環(huán)和分支結(jié)構(gòu)的程序框架

按鈕的“機(jī)械動(dòng)作”—“釋放時(shí)觸發(fā)”:用戶按下按鈕后控件的值為真,在程序框圖上讀取該控件的真值之后,按鈕控件會(huì)自動(dòng)彈起,恢復(fù)值為假,即一次按鈕按下操作只會(huì)引起程序讀取到一次真值;

等待函數(shù)的作用:決定循環(huán)執(zhí)行頻率/輪詢頻率(100毫秒為典型值);使用Windows的任務(wù)管理器,觀察有等待函數(shù)和沒(méi)有等待函數(shù)兩種情況下CPU的占用情況。例2:統(tǒng)計(jì)循環(huán)次數(shù)和按下按鈕次數(shù)(輪詢)如果去掉等待函數(shù)則“循環(huán)執(zhí)行次數(shù)”控件值很大,占用較多CPU資源1.基于循環(huán)和分支結(jié)構(gòu)的程序框架移位寄存器初始化為0,用于存儲(chǔ)”確定“按鈕按下次數(shù)移位寄存器的值每次循環(huán)都送入“確定按鈕按下次數(shù)”控件“確定按鈕”按下時(shí)移位寄存器值加1存儲(chǔ)循環(huán)執(zhí)行次數(shù)

1.基于循環(huán)和分支結(jié)構(gòu)的程序框架例3:生成波形和分析波形(輪詢)

自由游標(biāo)

按下“生成波形”按鈕生成指定波形,之后按下“分析波形”按鈕求取波形的最大值和對(duì)應(yīng)x索引,將游標(biāo)移動(dòng)到最大值點(diǎn)1.基于循環(huán)和分支結(jié)構(gòu)的程序框架2.基于事件結(jié)構(gòu)的程序框架事件結(jié)構(gòu)+While循環(huán)

圖形化操作系統(tǒng)和應(yīng)用程序采用事件驅(qū)動(dòng)的編程機(jī)制。程序開(kāi)始后進(jìn)入等待狀態(tài),等待某個(gè)事件發(fā)生后進(jìn)入相應(yīng)處理代碼,處理結(jié)束后回到等待狀態(tài)。以下代碼中,用戶要求結(jié)束程序運(yùn)行(按下“停止”按鈕)時(shí),退出事件結(jié)構(gòu),結(jié)束While循環(huán),停止程序運(yùn)行。

2.基于事件結(jié)構(gòu)的程序框架例4:響應(yīng)按下按鈕操作(事件結(jié)構(gòu))

2.基于事件結(jié)構(gòu)的程序框架例5:統(tǒng)計(jì)循環(huán)次數(shù)和按下按鈕次數(shù)(事件結(jié)構(gòu))

2.基于事件結(jié)構(gòu)的程序框架例6:生成波形和分析波形(事件結(jié)構(gòu))兩個(gè)按鈕輸入控件置于事件結(jié)構(gòu)內(nèi)“停止”:值改變事件分支未給出初始化代碼,最先執(zhí)行狀態(tài)機(jī)模式“我需要執(zhí)行一系列的事件步驟,但是步驟順序可通過(guò)編程決定的?!?.標(biāo)準(zhǔn)狀態(tài)機(jī)標(biāo)準(zhǔn)狀態(tài)機(jī)(StandardStateMachine)自動(dòng)販賣機(jī)模型InitializeWaitChangeQuarterDimeNickelExitVendNoinputQuarterDepositedTotal<50Total>=50ChangeRequestedDimeDepositedNickelDepositedTotal<50Total<50Total>=50Total>=50Total>50Total=50基本三要素:狀態(tài)、事件、動(dòng)作背景動(dòng)態(tài)結(jié)構(gòu):允許不同的狀態(tài),按通過(guò)編程決定的順序進(jìn)行執(zhí)行靜態(tài)順序結(jié)構(gòu)狀態(tài)機(jī)結(jié)構(gòu)對(duì)于一個(gè)最簡(jiǎn)單的狀態(tài)機(jī)結(jié)構(gòu)而言,它是可以用順序結(jié)構(gòu)代替的;而對(duì)于相對(duì)復(fù)雜的狀態(tài)機(jī)結(jié)構(gòu)而言,卻可以作為測(cè)試流程的組織者和管理者。在LabVIEW下實(shí)現(xiàn)狀態(tài)機(jī)結(jié)構(gòu)While循環(huán)+Case結(jié)構(gòu)每一Case即為一個(gè)狀態(tài)當(dāng)前狀態(tài)中需有決定下一狀態(tài)的判定代碼使用枚舉常量通過(guò)移位寄存器傳遞至下一狀態(tài)切換代碼工作流程初始狀態(tài)FIRSTSTATE下一狀態(tài)

執(zhí)行步驟移位寄存器用于傳遞狀態(tài)Case結(jié)構(gòu)對(duì)每一狀態(tài)都配備一個(gè)分支切換代碼根據(jù)執(zhí)行步驟中的結(jié)果來(lái)決定下一狀態(tài)枚舉常量

一個(gè)自定義的枚舉類型對(duì)應(yīng)一個(gè)狀態(tài)機(jī)中的狀態(tài)集合枚舉常量枚舉類型是一種允許程序員自定義元素的數(shù)據(jù)類型,它可以顯示數(shù)值對(duì)應(yīng)的具體含義,幫助程序員理解程序中使用的變量值。枚舉常量舉例控件選板“Modern”

1、枚舉控件、指示、常量

2、默認(rèn)U16

3、修改EditItems

4、隱式與顯式類型轉(zhuǎn)換3.標(biāo)準(zhǔn)態(tài)機(jī)新建對(duì)話框,VI->基于模板->框架->設(shè)計(jì)模式->標(biāo)準(zhǔn)狀態(tài)機(jī)3.標(biāo)準(zhǔn)狀態(tài)機(jī)使用什么數(shù)據(jù)類型表示狀態(tài)機(jī)的狀態(tài)? 分支/條件結(jié)構(gòu)選擇器端子可接受數(shù)據(jù)類型:布爾(此處不適用),整數(shù),字符串,枚舉……1.整數(shù):不夠直觀,分支選擇器接入的變量意義不清楚;2.字符串:意義明確,但容易出現(xiàn)拼寫錯(cuò)誤,引起程序執(zhí)行錯(cuò)誤;解決辦法:建立可容納所有拼寫錯(cuò)誤字符串的默認(rèn)分支,彈出對(duì)話框警告自己;3.枚舉:意義明確,不易出現(xiàn)錯(cuò)誤。①在前面板添加枚舉控件,在快“自定義類型”,保存自定義類捷菜單選擇高級(jí)->自定義…

3.標(biāo)準(zhǔn)狀態(tài)機(jī)建立和使用自定義枚舉類型

②編輯自定義枚舉類型所包含的 枚舉值,“控件類型”列表選擇

型控件(.ctl)在狀態(tài)機(jī)中使用自定義枚舉類型,類型定義改變時(shí),所有實(shí)例自動(dòng)更新③在框圖窗口函數(shù)選板,“SelectaVI…”,選擇已保存自定義控件④在框圖窗口添加自定義枚舉類型的常量3.標(biāo)準(zhǔn)狀態(tài)機(jī)3.標(biāo)準(zhǔn)狀態(tài)機(jī)3.標(biāo)準(zhǔn)狀態(tài)機(jī)等待狀態(tài)中,檢查三個(gè)按鈕控件的值,如果找到真值則進(jìn)入對(duì)應(yīng)狀態(tài),否則回到等待狀態(tài)

初始化后立刻進(jìn)入等待狀態(tài)檢查三個(gè)按鈕控件值的方法:建立布爾類型1維數(shù)組,查找真值,從輸出索引值判斷有(索引≥0)無(wú)(索引=-1)真值和有真值時(shí)真值的位置。有真值時(shí),索引值+2,之后類型轉(zhuǎn)化為枚舉值等待函數(shù),降低查詢按鈕值時(shí)的CPU負(fù)荷

3.標(biāo)準(zhǔn)狀態(tài)機(jī)例7:生成波形和分析波形(標(biāo)準(zhǔn)狀態(tài)機(jī))3.標(biāo)準(zhǔn)狀態(tài)機(jī)生成波形后,回到等待狀態(tài)分析波形后,回到等待狀態(tài)Stop狀態(tài)下退出循環(huán),結(jié)束程序運(yùn)行

3.標(biāo)準(zhǔn)狀態(tài)機(jī)例8:生成波形和分析波形(帶事件結(jié)構(gòu)的狀態(tài)機(jī))

其他模式“我希望同一時(shí)刻能夠處理多個(gè)消息事件,而不是下一個(gè)消息代碼必須等待上一次響應(yīng)完成后才能執(zhí)行”“我不希望消息排隊(duì),等待很煩的,有時(shí)采集數(shù)據(jù)和記錄數(shù)據(jù)應(yīng)該同時(shí)進(jìn)行的”。主從線程模式通常應(yīng)用于具有多個(gè)同時(shí)發(fā)生的并且擁有不同運(yùn)行速率的線程的程序中。比如采集電壓同時(shí)寫入磁盤,采集速率1KHz,記錄則每5秒一次。1、數(shù)據(jù)通信采用全局變量、局域變量或共享變量;2、Stop為Switch模式3、有時(shí)會(huì)用到事件發(fā)生模塊Occurrence生產(chǎn)者/消費(fèi)者“我需要可以同時(shí)間執(zhí)行的兩個(gè)過(guò)程,并且需保證它們不會(huì)互相影響執(zhí)行速度?!鄙a(chǎn)者/消費(fèi)者全局變量、局域變量或共享變量的每次復(fù)制都是原始數(shù)據(jù)的一個(gè)副本,占據(jù)了大量的空間。實(shí)際上只需要使用一部分緩沖區(qū)作為數(shù)據(jù)存儲(chǔ)的中間部分,這需要借助隊(duì)列技術(shù)。存儲(chǔ)單元數(shù)據(jù)流入數(shù)據(jù)流出生產(chǎn)者/消費(fèi)者具體做法最簡(jiǎn)單模式在LabVIEW下實(shí)現(xiàn)生產(chǎn)者/消費(fèi)者無(wú)數(shù)據(jù)相關(guān)的多個(gè)循環(huán)主/從關(guān)系在循環(huán)間實(shí)現(xiàn)通訊與同步工作流程主循環(huán)負(fù)責(zé)通知各個(gè)從循環(huán)是否執(zhí)行允許循環(huán)間異步執(zhí)行數(shù)據(jù)的非相關(guān)性實(shí)現(xiàn)多線程程序過(guò)程分解從循環(huán)1從循環(huán)2主循環(huán)實(shí)現(xiàn)循環(huán)間的數(shù)據(jù)通訊變量通知器隊(duì)列信號(hào)量集合隊(duì)列在隊(duì)列中添加元素從隊(duì)列中釋放元素Referencetoexistingqueueinmemory選擇隊(duì)列中元素的數(shù)據(jù)類型出列操作需要等待數(shù)據(jù)進(jìn)入或者超時(shí)情況生產(chǎn)者/消費(fèi)者循環(huán)后臺(tái)服務(wù)模式問(wèn):“我需要程序在后臺(tái)運(yùn)行,不要前面板,不要交互”答:“采用VI屬性和方法接口,足以使你控制后臺(tái)運(yùn)行的VI”

例子:一個(gè)網(wǎng)絡(luò)服務(wù)監(jiān)聽(tīng)程序,程序只需要接收與客戶端Sockets的連接,實(shí)現(xiàn)三次握手,連接完成后將引用交給前端應(yīng)用程序處理,同時(shí)繼續(xù)監(jiān)聽(tīng)。后臺(tái)服務(wù)模式后臺(tái)服務(wù)模式

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式隊(duì)列(Queue)

一種特殊的數(shù)據(jù)結(jié)構(gòu);是按順序存儲(chǔ)的數(shù)據(jù)的集合,對(duì)于集合的主要操作是在集合尾部加入數(shù)據(jù)和從集合頭部移除數(shù)據(jù);FIFO(First-In-First-Out)。

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式隊(duì)列典型函數(shù),函數(shù)選板,編程->同步->隊(duì)列操作1.獲取隊(duì)列引用(ObtainQueue)

功能:獲得隊(duì)列的引用。默認(rèn)情況下,如果指定隊(duì)列已存在,獲得該隊(duì)列的引用;如果隊(duì)列未存在,則創(chuàng)建隊(duì)列。可以在程序的不同部分引用同一個(gè)隊(duì)列,即在兩端代碼之間共享和傳遞數(shù)據(jù)。

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式2.元素入隊(duì)列(EnqueueElement)3.元素出隊(duì)列(DequeueElement)4.預(yù)覽隊(duì)列元素(PreviewQueueElement)功能:返回隊(duì)列頭元素,但不刪除元素。5.獲取隊(duì)列狀態(tài)(GetQueueStatus)功能:返回隊(duì)列狀態(tài)信息,如元素個(gè)數(shù)。-1(默認(rèn))時(shí)永遠(yuǎn)等待4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式6.隊(duì)列最前端插入元素(EnqueueElementAtOppositeEnd)功能:在隊(duì)列頭插入元素(非標(biāo)準(zhǔn)操作,用于插入高優(yōu)先級(jí)元素)。7.清空隊(duì)列(FlushQueue)功能:清空隊(duì)列所有元素(并返回這些元素)。8.釋放隊(duì)列引用(ReleaseQueue)功能:釋放隊(duì)列的一個(gè)引用。

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式例9:隊(duì)列操作示例入隊(duì)列兩個(gè)元素預(yù)覽/觀察隊(duì)列頭元素預(yù)覽操作不會(huì)刪除隊(duì)列元素在隊(duì)列頭插入元素隊(duì)列頭元素出隊(duì)列生產(chǎn)者,生產(chǎn)數(shù)據(jù)消費(fèi)者,消費(fèi)/使用數(shù)據(jù)數(shù)據(jù)

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式什么是生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式(Producer/Consumerdesignpattern)?

兩個(gè)線程,一個(gè)生產(chǎn)數(shù)據(jù),另一個(gè)消費(fèi)/使用數(shù)據(jù);在線程之間建立緩沖(采用隊(duì)列實(shí)現(xiàn)),確保消費(fèi)者以自己的步調(diào)使用數(shù)據(jù),同時(shí)允許生產(chǎn)者將更多的數(shù)據(jù)添加到隊(duì)列中。

緩沖區(qū)(基于隊(duì)列,已填充一部分)

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式消費(fèi)者循環(huán),從緩沖取出數(shù)據(jù)消費(fèi)者循環(huán),從緩沖取出數(shù)據(jù)使用隊(duì)列建立生產(chǎn)者和消費(fèi)者之間的數(shù)據(jù)緩沖

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式新建對(duì)話框,VI->基于模板->框架->設(shè)計(jì)模式->生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式(數(shù)據(jù))

生產(chǎn)者循環(huán), 向緩沖加入數(shù) 據(jù),入隊(duì)列 通過(guò)輪詢決定何時(shí)入隊(duì)列消費(fèi)者循環(huán),從緩沖取出數(shù)據(jù)使用隊(duì)列建立生產(chǎn)者和消費(fèi)者之間的數(shù)據(jù)緩沖

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式新建對(duì)話框,VI->基于模板->框架->設(shè)計(jì)模式->生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式(事件)

生產(chǎn)者循環(huán), 向緩沖加入數(shù) 據(jù),入隊(duì)列 通過(guò)事件結(jié)構(gòu)入隊(duì)列消費(fèi)者循環(huán),從緩沖取出數(shù)據(jù)初始化代碼

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式

例10:生成波形和分析波形(生產(chǎn)者/消費(fèi)者)

用事件結(jié)構(gòu)將動(dòng)作/

操作入隊(duì)列“Initialize”首先入隊(duì)列4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式

用事件結(jié)構(gòu)將動(dòng)作/

操作入隊(duì)列在消費(fèi)者循環(huán)內(nèi),執(zhí)行相應(yīng)動(dòng)作

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式自定義枚舉類型,包含7個(gè)狀態(tài)采用屬性節(jié)點(diǎn),指示燈位置初始化到(0,0)首先進(jìn)入初始化狀態(tài)

4.生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式每隔100毫秒產(chǎn)生超時(shí)事件 入隊(duì)列出隊(duì)列 人為添加消費(fèi)者 數(shù)據(jù)處理延時(shí)兩個(gè)循環(huán)都結(jié)束才釋放隊(duì)列/china/labviewtips應(yīng)用程序啟動(dòng)模式“我想設(shè)計(jì)一個(gè)啟動(dòng)畫(huà)面,同時(shí)顯示應(yīng)用程序加載的進(jìn)度,加載完畢后退出啟動(dòng)畫(huà)面,運(yùn)行主程序”應(yīng)用程序啟動(dòng)模式1、SubVI目錄

2、啟動(dòng)應(yīng)用程序.vi

3、主程序“網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng).vi”代理模式“我希望頂層VI(主VI)需要某個(gè)子VI時(shí),才將其載入內(nèi)存”“可以在應(yīng)用程序中引入遲載入技術(shù)”代理模式總結(jié)設(shè)計(jì)模式簡(jiǎn)化LabVIEW開(kāi)發(fā)過(guò)程被廣泛使用及證明其可用常用的LabVIEW設(shè)計(jì)模式數(shù)據(jù)流事件驅(qū)動(dòng)狀態(tài)機(jī)結(jié)構(gòu)生產(chǎn)者/消費(fèi)者

屬性節(jié)點(diǎn)屬性節(jié)點(diǎn)(Pr

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論