女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

求一種Actor Framework中MVC架構的子面板設計方案

華穗科技 ? 來源:華穗科技 ? 2023-02-06 09:20 ? 次閱讀

一、什么是子面板?

子面板是LabVIEW中的一種容器類型控件,借助這個控件可以在當前VI前面板上動態加載并運行另一個VI的前面板。它和選項卡類似,但又不同于選項卡控件,如子面板控件沒有選項卡控件的頁選擇器,一次只能顯示一個頁面,但它可以在內存中動態加載已運行的子程序,且一個在內存中被加載的子程序(模板程序)可以被多個子面板控件同時加載運行。

6c946e3c-a556-11ed-bfe3-dac502259ad0.png

如上圖所示,子面板的使用方法其實就是主界面先獲取到各子界面的VI引用,然后利用子面板插入子界面的VI前面板。這樣一來主界面不僅可以用來響應所有用戶操作,還能顯示各個子界面狀態,并且各個子界面是相互獨立的,可以劃分為不同的模塊進行開發。

二、為什么用子面板?

在MVC架構中使用子面板主要有以下兩點原因:

1、使用子面板可以實現主面板程序與子面板程序的分離編寫,便于大型軟件、復雜軟件的多人協作分工完成,符合AF架構模塊化和多人協作的編程思路;

2、MVC架構中規定要把所有和界面顯示相關的工作都放到View中實現,這就注定了View必須處理所有的界面,但是各個子界面其實都在它本身所在的Actor中,這就需要將各個Actor中的界面傳到View中結合子面板進行處理。

三、設計實現

1、創建操作者

6cba43e6-a556-11ed-bfe3-dac502259ad0.png

如上圖所示,該項目創建了一個Control,一個View,三個Module。其中View是主界面,用來做所有和界面顯示相關的工作;三個Module分別是實現不同功能的模塊,并且它們都擁有自己的界面;而Control是根操作者,也是整個項目的控制器,用來控制界面顯示和各模塊功能執行。

6cd77f24-a556-11ed-bfe3-dac502259ad0.png

如上圖所示,該UML圖展示了這些操作者之間的邏輯關系。Control作為根操作者,嵌套調用了三個Module和一個View。嵌套操作者給根操作者發送消息使用接口(發送方只需要向接口中寫消息,而接收方只要繼承接口就可以通過實例化接口消息以實現消息的傳遞,這樣做可以消除消息發送方和接收方的耦合關系)。每個操作者都擁有自己的一些私有屬性和方法,感興趣的小伙伴們可以閱讀UML圖并結合源代碼了解此項目的設計功能。

2、Module功能設計

操作者“M-Hello Word”實現顯示“Hello Word”并不斷變換文本顏色。

6cedee76-a556-11ed-bfe3-dac502259ad0.png

操作者“M-LED閃爍”實現LED燈的顏色變換。

6d035f5e-a556-11ed-bfe3-dac502259ad0.png

操作者“M-波形顯示”實現波形圖表顯示隨機數。

6d6f4a02-a556-11ed-bfe3-dac502259ad0.png

每個Actor的功能都在自己的Actor中獨立實現,不依賴于其他模塊。

3、使用接口消息傳遞VI引用

三個Module分別使用接口消息給Control發送自己Actor Core的VI引用,Control接收到接口消息后立即將VI引用以消息的方式傳遞給View。

下圖為某個Module的Actor Core,紅色框部分代碼就是當此操作者啟動后使用接口消息給它的根操作者(Control)傳遞Actor Core VI引用。

6e0d9450-a556-11ed-bfe3-dac502259ad0.png

下圖為Control實例化(重寫)接口消息的程序框圖,可以看到Control將Module傳遞來的VI引用直接通過View的消息隊列傳遞給了View,并且在傳遞消息的同時還告訴它這個VI引用來自于哪個Module。

6e45aae8-a556-11ed-bfe3-dac502259ad0.png

下圖為View從Control接收到傳遞VI引用的消息后,先判斷這個VI引用屬于哪個子界面,然后分別將各個子界面的VI引用放到自己的私有屬性中,方便后續使用子面板切換操作子界面。

6e564d12-a556-11ed-bfe3-dac502259ad0.png

4、View主界面設計

如下圖所示,先看前面板,主界面由一個樹形控件和一個子面板控件組成,設計功能為通過選定樹形控件來控制子面板切換顯示不同的子界面。再看程序框圖,當發生樹形控件值改變事件時給自己發送一個消息,去執行對應的“切換子面板”功能代碼。

6e698710-a556-11ed-bfe3-dac502259ad0.png

“切換子面板”功能代碼如下圖所示,在使用子面板插入VI時需要注意在插入前先刪除當前子面板上的VI界面,然后再插入新的VI界面。該VI根據“樹選擇”的不同值選擇插入不同Module的界面。

6e9453c8-a556-11ed-bfe3-dac502259ad0.png6ec94ccc-a556-11ed-bfe3-dac502259ad0.png6ee105ba-a556-11ed-bfe3-dac502259ad0.png

5、Control控制器設計

如下圖所示,Control是根操作者,紅色框圖部分代碼是它嵌套調用了其他操作者并且將View的消息隊列存入自己的私有屬性中,方便給View發送消息。

6f164770-a556-11ed-bfe3-dac502259ad0.png ?







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    16955

    瀏覽量

    182768
  • LabVIEW
    +關注

    關注

    1994

    文章

    3670

    瀏覽量

    332831
  • UML
    UML
    +關注

    關注

    0

    文章

    122

    瀏覽量

    31094
  • MVC
    MVC
    +關注

    關注

    0

    文章

    73

    瀏覽量

    14054

原文標題:教程 | Actor Framework中MVC架構的子面板設計

文章出處:【微信號:華穗科技,微信公眾號:華穗科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    sushu---Actor Framework基本介紹

    練]Actor Framework框架(1125-1201)2016-02-28 20:15:20新寫的篇帖子:sushu---Actor Fra
    發表于 01-03 20:05

    sushu---Actor Framework一種使用方式

    -----------------------sushu---LabVIEW基本介紹--------------------------------------正貼-----------------------這里僅僅是介紹了一種Actor
    發表于 02-28 20:40

    actor framework 學習

    本帖最后由 yingtn 于 2018-2-27 11:47 編輯 各位前輩:小弟在學習 actor framework 時遇到了個問題:在右擊類新建時“重寫的VI項”是灰色的,不可選 ,求教?我用的是 labview
    發表于 02-27 11:44

    Actor Framework的定時結構 (LabVIEW的定時結構詳解----終)

    了兩個方案實現Actor Framework的定時結構1.使用上定時類,做定時結構,這個
    發表于 06-26 01:18

    Actor Framework -- Test Sequence

    本帖最后由 shenjianym 于 2019-10-29 08:13 編輯 用Actor Framework框架寫了個關于測試序列(生成隨機數并判斷)的程序。該程序使用的是LabVIEW2017版本,加2017版JKL
    發表于 10-28 15:28

    大神分享一種PPSM嵌入式RTOS的窗口系統設計方案

    大神分享一種PPSM嵌入式RTOS的窗口系統設計方案
    發表于 04-27 06:20

    一種智能物品清點系統的設計方案

    一種智能物品清點系統的設計方案
    發表于 05-20 07:29

    一種新型WCDMA直放站PA的設計方案

    一種新型WCDMA直放站PA的設計方案
    發表于 05-26 06:14

    大佬分享一種小型通信系統的設計方案

    大佬分享一種小型通信系統的設計方案
    發表于 05-28 06:13

    榮小菜補鈣記第33期:基于LabVIEW Actor Framework的連續測量和記錄系統1

    寫個小系列,基于LabVIEW Actor Framework來搭建個數據連續采集處理系統,最終看看它能承受多大的數據量沖擊。本期先從基礎點的開始講,畢竟整個系統涉及執行速度優化、
    發表于 05-29 15:32

    榮小菜補鈣記第40期:基于LabVIEW Actor Framework的連續測量和記錄系統4

    Hadle我們使用該函數更新項目樹,程序很簡單,就是清空項目樹后按名稱重新添加項。通過Glyph Index我們可以選擇各種項目符號,我這里默認設為5。 項目樹更新5.面板更新最后介紹
    發表于 07-17 12:06

    一種基于openmv競速小車的設計方案

    一種基于openmv競速小車的設計方案
    發表于 03-01 07:16

    在LabVIEW創建Actor Framework的同步消息

    首先,第次使用Reply Msg時,繼承關系是沒有Reply Msg的,因為默認Reply Msg不包含在Actor Framework.lvlib
    的頭像 發表于 11-04 10:33 ?4919次閱讀

    教程|基于Actor FrameworkMVC設計實現

    MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫。
    的頭像 發表于 12-26 16:48 ?4816次閱讀

    教程|創建你的第Actor Framework

    本文小編將手把手教你如何在LabVIEW創建你的第Actor Framework,跟著搭建并感受對象和類的神奇吧!
    的頭像 發表于 12-26 17:00 ?4206次閱讀