色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內(nèi)不再提示

求一種Actor Framework中MVC架構(gòu)的子面板設(shè)計方案

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

一、什么是子面板?

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

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

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

二、為什么用子面板?

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

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

2、MVC架構(gòu)中規(guī)定要把所有和界面顯示相關(guān)的工作都放到View中實現(xiàn),這就注定了View必須處理所有的界面,但是各個子界面其實都在它本身所在的Actor中,這就需要將各個Actor中的界面?zhèn)鞯絍iew中結(jié)合子面板進行處理。

三、設(shè)計實現(xiàn)

1、創(chuàng)建操作者

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

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

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

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

2、Module功能設(shè)計

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

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

操作者“M-LED閃爍”實現(xiàn)LED燈的顏色變換。

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

操作者“M-波形顯示”實現(xiàn)波形圖表顯示隨機數(shù)。

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

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

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

三個Module分別使用接口消息給Control發(fā)送自己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引用放到自己的私有屬性中,方便后續(xù)使用子面板切換操作子界面。

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

4、View主界面設(shè)計

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

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

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

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

5、Control控制器設(shè)計

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

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







審核編輯:劉清

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

    關(guān)注

    112

    文章

    16346

    瀏覽量

    177885
  • LabVIEW
    +關(guān)注

    關(guān)注

    1970

    文章

    3654

    瀏覽量

    323408
  • UML
    UML
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    30858
  • MVC
    MVC
    +關(guān)注

    關(guān)注

    0

    文章

    73

    瀏覽量

    13853

原文標題:教程 | Actor Framework中MVC架構(gòu)的子面板設(shè)計

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

收藏 人收藏

    評論

    相關(guān)推薦

    sushu---Actor Framework基本介紹

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

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

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

    actor framework 學習

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

    Actor Framework的定時結(jié)構(gòu) (LabVIEW的定時結(jié)構(gòu)詳解----終)

    了兩個方案實現(xiàn)Actor Framework的定時結(jié)構(gòu)1.使用上定時類,做定時結(jié)構(gòu),這個
    發(fā)表于 06-26 01:18

    Actor Framework -- Test Sequence

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

    大神分享一種PPSM嵌入式RTOS的窗口系統(tǒng)設(shè)計方案

    大神分享一種PPSM嵌入式RTOS的窗口系統(tǒng)設(shè)計方案
    發(fā)表于 04-27 06:20

    一種智能物品清點系統(tǒng)的設(shè)計方案

    一種智能物品清點系統(tǒng)的設(shè)計方案
    發(fā)表于 05-20 07:29

    一種新型WCDMA直放站PA的設(shè)計方案

    一種新型WCDMA直放站PA的設(shè)計方案
    發(fā)表于 05-26 06:14

    大佬分享一種小型通信系統(tǒng)的設(shè)計方案

    大佬分享一種小型通信系統(tǒng)的設(shè)計方案
    發(fā)表于 05-28 06:13

    榮小菜補鈣記第33期:基于LabVIEW Actor Framework的連續(xù)測量和記錄系統(tǒng)1

    寫個小系列,基于LabVIEW Actor Framework來搭建個數(shù)據(jù)連續(xù)采集處理系統(tǒng),最終看看它能承受多大的數(shù)據(jù)量沖擊。本期先從基礎(chǔ)點的開始講,畢竟整個系統(tǒng)涉及執(zhí)行速度優(yōu)化、
    發(fā)表于 05-29 15:32

    榮小菜補鈣記第40期:基于LabVIEW Actor Framework的連續(xù)測量和記錄系統(tǒng)4

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

    一種基于openmv競速小車的設(shè)計方案

    一種基于openmv競速小車的設(shè)計方案
    發(fā)表于 03-01 07:16

    在LabVIEW創(chuàng)建Actor Framework的同步消息

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

    教程|基于Actor FrameworkMVC設(shè)計實現(xiàn)

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

    教程|創(chuàng)建你的第Actor Framework

    本文小編將手把手教你如何在LabVIEW創(chuàng)建你的第Actor Framework,跟著搭建并感受對象和類的神奇吧!
    的頭像 發(fā)表于 12-26 17:00 ?3615次閱讀
    主站蜘蛛池模板: 全黄H全肉细节文NP| 中文字幕无码他人妻味| av影音先锋影院男人站| 韩国伦理电影在线神马网| 日韩 亚洲 欧美 中文 高清| 在线观看永久免费网站| 国产伦精品一区二区三区免费| 欧美性xxxx18| 欧美美女论坛| 亚洲色图在线播放| 国产精品久久欧美一区| 飘雪在线观看免费完整版 | 九九免费精品视频| 偷拍 拍自 欧美色区| 被六个男人躁到一夜同性| 蜜柚视频在线观看全集免费观看| 亚洲免费三区| 国产毛片AV久久久久精品| 日韩人妻无码精品久久中文字幕| 91av影院| 恋夜影院安卓免费列表uc| 亚洲午夜精品A片久久软件| 国产三级精品三级男人的天堂| 日韩精品一区VR观看| a在线免费观看视频| 美女pk精子2小游戏| 早乙女由依在线观看| 黄色毛片a| 欧美一夜爽爽爽爽爽爽| 2019一級特黃色毛片免費看| 国产精品…在线观看| 日产国产欧美韩国在线| china男士同性视频tv| 摸董事长的裤裆恋老小说| 浴室里强摁做开腿呻吟的漫画| 寂寞夜晚免费观看视频| 亚洲精品一二三| 果冻传媒MV免费播放在线观看| 亚洲成A人片在线观看中文L| 国产乱妇乱子在线播视频播放网站 | 免费看亚洲|