你是否知道“對象”是什么? 當然此對象非彼對象,對于計算機來說對象是對客觀事物的抽象,類是對對象的抽象。如此抽象的概念,在LabVIEW中以Actor Framework的形式來解決多線程的各種復雜問題。 想要了解什么是Actor Model,具體的內容請參照以前發表過的文章:
Actor Model --AgileT硬件模塊的管理員
本文小編將手把手教你如何在LabVIEW中創建你的第一個Actor Framework,跟著搭建并感受對象和類的神奇吧!
本文教程:
了解并在LabVIEW中創建Actor Framework
一、什么是模塊化設計?
以一個數據采集測試系統為例,我們設計程序的時候一般會將程序分為上圖中的高內聚、低耦合的四個模塊,分別為:用戶界面模塊、數據采集模塊、數據分析模塊、文件I/O模塊。 高內聚是指每個模塊都有自己明確的功能,并且只負責一件工作。 低耦合是指模塊之間不互相依賴,每個模塊都可以不依賴其它模塊獨立運行。 這四個模塊中有什么需要重復編寫的相似代碼嗎? 狀態機框架、初始化、錯誤處理等代碼都可以將其抽象,將這四個模塊進行打散又重組。 是不是有些難以理解呢?沒關系,拿一個簡單的例子來講解對象和類的關系。
如上圖所示是一個車輛的類。無論是小汽車、跑車、大卡車、賽車,都需要燃油來驅動車輛運行(當然電動的除外啦),也可以通過儀表盤來獲取剩余燃油、得知當前車速。我們可以將所有能夠稱之為汽車的東西都看作擁有同一個父類,這個父類擁有著屬性:燃油、最大速度等,也擁有著獲取燃油存量、獲取目前速度的方法。 那么如何把這些抽象出來的屬性和方法通過程序來實現呢?接下來我們先學習一些操作者框架的基本知識,或許會有新的見解。
二、 操作者框架
操作者框架主要由操作者Actor和消息Message構成: ·操作者(Actor):擁有數據狀態的模塊; ·消息(Message): 消息在操作者間傳遞用來觸發狀態改變。 操作者框架擁有著以下特點: ·消息驅動–Actor之間的消息通信是異步的,即使Actor在發送消息后也無需阻塞或者等待就能夠處理其他事情; ·強隔離性–Actor中的方法不能由外部直接調用,所有的一切都通過消息傳遞進行的,從而避免了Actor之間的數據共享,想要觀察到另一個Actor的狀態變化只能通過消息傳遞進行詢問; ·面向對象編程-由于采用LabVIEW Class編寫,可將面向對象編程思想運用到LabVIEW編程中。
LabVIEW中操作者框架的核心就需要通過Launch Actor Core.vi來實現。
Actor Core為操作者框架的核心vi,該vi接收消息、執行消息和錯誤處理。 顯然,Actor Framework中的消息就是用來傳送消息并執行方法的,而操作者中所包含的各種屬性就是類的屬性。利用Actor Framework的操作者和消息就可以實現面向對象的編程啦。 接下來跟著小編搭建一個簡單的Actor,先了解一下如何構建Actor Framework的架構吧~
三、創建你的第一個Actor
作為操作者架構,必不可少的就是操作者和消息。所以先跟著小編嘗試搭建以消息為媒介的“Hello World”彈窗吧!
1. 創建Actor
新建一個LabVIEW空白項目,右鍵項目下My Computer ->New →Actor,彈出創建Actor面板,填寫Actor名稱、選擇父類、選擇保存路徑。
你可以在這個項目創建出的Actor下新建一些虛擬文件夾,用以存放不同類型的方法。例如可重寫方法Override、私有方法Private以及功能方法Method。
2. 創建靜態方法
在項目資源管理器中右鍵My First Actor.lvclass → New → VI from Static Dispatch Template創建靜態方法,保存命名為Pop Up.vi。并在前面板添加字符串控件,連接接線板;在程序框圖連接單按鈕對話框。
3. 為靜態方法創建消息
在項目資源管理器中右鍵Pop Up.vi → Actor Framework → Create Message。等待消息創建完成后,展開Messages for this Actor虛擬文件夾,可以看到消息創建完成。
4. 發送消息
第一步,項目資源管理器中新建Launcher.vi;
第二步,在Launcher.vi程序框圖中添加Launch Root Actor.vi;
位置:程序框圖 → Data Communication → Actor Framework → Launch Root Actor.vi。
第三步,創建一個My First Actor.class實例,并連接到 Launch Root Actor.vi;
第四步,添加Send Pop Up.vi,并連接到Launch Root Actor.vi;
第五步,添加Send Normal Stop.vi;
位置:程序框圖 → Data Communication → Actor Framework → Send Normal Stop.vi;
第六步,為Send Pop Up.vi連接字符串常量輸入。
5. 啟動程序
運行Launcher.vi。可以看到“Hello World”已經通過Actor的消息發送給了Send Pop Up.vi,而這個vi里實現的功能就是彈出一個對話框,并顯示發來的消息。
以上就是如何在LabVIEW中構建一個簡單的Actor Framework的基本步驟啦,如果想要進一步了解抽象的類和對象是如何通過Actor Framework來實現的話,敬請期待接下來關于Actor Framework的一系列技術分享。
下一期我們將分享Actor Framework中抽象消息的運用。
審核編輯:湯梓紅
-
LabVIEW
+關注
關注
1970文章
3654瀏覽量
323323 -
對象
+關注
關注
1文章
38瀏覽量
17388 -
Actor Framework
+關注
關注
0文章
2瀏覽量
1748
原文標題:教程 | 創建你的第一個Actor Framework
文章出處:【微信號:華穗科技,微信公眾號:華穗科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論