999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于元數據的MVC模型實現

2020-02-02 03:25:28張名明凌旺宮斌
電子技術與軟件工程 2020年17期
關鍵詞:頁面可視化界面

張名明 凌旺 宮斌

(中國船舶重工集團公司第七二三研究所 江蘇省揚州市 225011)

在程序設計領域,處理數據,顯示數據通常占據了程序開發中大部分的工作量,而且后期為了適應不同或變化的數據,往往需要新增或修改流程已達成對變更和新數據的處理和顯示能力。通過對其中一些中小規模的程序,比如BIT 可視化程序在業務邏輯和業務規則比較穩定的情況下,元數據技術可用來描述程序中的數據邏輯,固化相關的業務規則,在程序運行時就可以通過改變數據來改變程序的行為。同時運用MVC 模式開發程序,方便分離數據元數據和視圖元數據,降低程序的復雜性,并提升維護性。

本文將簡述元數據技術和MVC 模式,并以此為基礎介紹在BIT 可視化程序中的應用,包括開發技術的介紹和討論,以及相應的設計實現。

1 元數據技術在MVC模式中應用

1.1 元數據技術和MVC模式簡述

元數據,英文中表示為Metadata,主要用來表述數據的屬性、結構和內容間的關系信息。在面向對象的程序設計范疇,元數據被解釋為:不能進行結構變更,只能通過改變賦值來變更程序行為的數據。在程序中元數據始終值用來解釋程序的行為,而且通過對不定位置的元素進行不同賦值還可以等價原程序行為[1]。

MVC 模式是軟件工程中的一種軟件框架模式,它把軟件系統分為模型(Model),視圖(View)和控制器(Control)三個基本部分[2]。用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。此模式通過對復雜度的簡化,使程序結構更加直觀。

1.2 元數據技術在MVC模式中的使用

MVC 模式中的模型用于處理應用程序中的數據邏輯部分,應用程序中的數據一般包括業務數據和業務規則兩部分,對于小規模的程序和業務邏輯比較明確的應用程序,可以采用元數據對業務數據和業務規則進行描述,如圖1所示,具體的步驟是:

(1)通過對數據邏輯進行分類,找到同類的數據。

(2)對同類的數據進行抽象、建模,采用元數據的形式對該模型進行描述,形成統一的自描述的結構體。

(3)利用該統一的結構體,對不同的數據類型進行實例化,使每類數據都有一條對應的元數據描述。

同樣對于視圖(View)中的同類顯示元素也可以抽象成統一的結構體,并用元數據進行描述。在模型數據和視圖數據都可以被元數據描述后,再將兩者間的關系也用元數據映射進行描述,比如將某類數據中的某段數據映射到某類視圖中的某個元素進行顯示,這種多對多的映射可以滿足各類模型數據的可視化需求。

圖1:使用元數據對模型建模的步驟

1.3 在MVC模式中使用元數據技術的分析

MVC 模式將視圖層和數據層分離,原本就具備耦合性低,重用性高,部署快,維護性高成本低等優點,但同時也存在一些不足,比如增加系統結構和實現的復雜性,將花費大量時間將MVC 模式應用到小型、中等規模的應用程序通常會得不償失。但從另一個角度分析,正是因為小型、中等規模的應用程序業務邏輯較清晰,適合運用元數據技術對業務規則和顯示邏輯進行建模,實現一套數據驅動的應用程序,最大化應用程序的重用性,從而彌補采用MVC模式造成較高成本的缺陷。

2 基于元數據的BIT可視化MVC模型實現

2.1 BIT可視化需求分析

機內測試,簡稱BIT(Built-In-Test),是提高電路系統可測試性而提高系統工作可靠性,減少系統維護費用的關鍵技術[3]。相對于復雜的大系統,BIT 檢測系統可以算是一個中小型系統,而BIT 可視化則是其中一個重要的組成部分,優秀的BIT 可視化設計可以提高診斷能力,簡化設備維修,提高維修性,降低總體費用,延長產品的壽命。

優秀的BIT 可視化設計包括以下幾個方面:

(1)采用豐富的展示形式,使用狀態燈,狀態框圖,按鈕,狀態圖片等狀態元素,給用戶更直觀地展示元件的狀態。

(2)采用多層級的展示方式,按照如設備級,機柜級,板卡級等多層級的展示方式,使用戶可以更便捷地在各級間進行切換。同時盡量展示形式盡量設備內的真實布局,也可以使用戶對設備的布局結構有更深入的了解,也能更快速地定位問題。

表1:自定義插件功能表

(3)采用界面和數據分離的設計原則,開發一套可擴展的BIT 可視化程序框架,定義好BIT 可視化的流程和設計規范,后續開發者可以在這套框架上自由的設計和組合BIT 界面。

2.2 實現技術選擇

在基于元數據的MVC模型實現技術上采用QT平臺進行開發,首先QT 不光提供了一套控件方便開發者設計出一套精美的用戶界面。還構建了一套支持擴展QT 設計器的插件架構,以及相關的QtDesigner 模塊用于創建可以加載到設計器中的自定義插件,以及相關用于訪問設計器功能的類。

QT 的顯示框架包括了三個重要的部件:用戶界面文件,界面生成引擎,界面設計器,這三個部件,可以很方便的對BIT 界面進行設計,ui 文件作為BIT 界面的顯示模板,在運行時可以根據不同的數據顯示相應的BIT 狀態。

2.3 基于元數據的MVC模型設計

2.3.1 整體框架

在BIT 可視化程序的框架設計中采用MVC 模式進行框架設計,分為Model,View,Controller 三個層次組成,Model 層負責維護BIT 可視化程序的數據結構,并提供數據的存儲和查詢功能,包含MsgModel,PageModel 和Service 三個類。View 層負責維護每個BIT 可視化頁面,包含Page 和UIContainManager 兩個類。Control層負責聯系Model 和View 層,提供不同BIT 頁間的導航以及各種事件的響應功能,包含Router 類。

2.3.2 Model 層

Model 層根據報文,將設備不同層級的BIT 數據映射為Message 數據結構。對外通過Service 類提供數據,Service 類提供獲取每個Message 中數據項的接口,并提供標準的數據變化通知消息。

Model 層中提供MsgModel 類作為對BIT 數據的元數據管理類,它使用XML 進行元數據的配置,包含報文名稱,字段名稱,是否Bit,字段大小,字段默認值等屬性。

Model 層在提供PageModel 類,用于管理BIT 數據和界面(Page)間的元數據映射,它對應的元數據映射配置文件格式,包含:頁面名稱,控件名稱,控件屬性,報文名稱,報文字段等屬性。

Model 層中提供RulerModel 類用于配置各報文中的固定字段,輔助BIT 程序過濾出具體的報文。

最后Model 層通過Service 類完成對以上三個類的管理,并對外提供對內部BIT 數據的存儲功能。

2.3.3 View 層

View 層中每個QWidget 界面都是一個容器,通過QT 的界面生成引擎生成,根據界面配置ui 文件生成具體的頁面,包含設計頁面的相關控件,并對每個元素包含相關的屬性,并能夠響應具體的事件。Page 類主要記錄QWiget 中沒有BIT 可視化元素的索引,以方便對其進行查詢和賦值。UiContainManager 類則通過名稱記錄了Page 的索引,以方便管理Page 集合。

UIContainManager 類負責加載每個ui 文件,生成對應的頁面,并對頁面中需要動態設置的控件建立索引,具體的加載流程為首先讀取ui 文件夾文件,將每個ui 文件依次生成對應的Page,并對Page 中的控件書進行索引,記錄導航、板塊狀態、狀態燈以及狀態圖片插件的索引。

View 層中的自定義插件主要分為四種,對應的功能如表1所示。

2.3.4 Control 層

Control 層通過Router 類進行管理,通過對Model 和View 層的功能調用,提供不同BIT 頁間的導航以及各種事件的響應功能。

當加載一個頁面時,先對頁面上的導航插件進行事件綁定,注冊它們的點擊事件,然后根據pageModel 中的映射關系,將數據更新到page 中,并激活對應的page 進行顯示。

3 結論

使用基于元數據的MVC 模型設計的BIT 可視化模塊,為BIT檢測提供了更靈活的BIT 界面布局和豐富的設計元素,極大的擴充了BIT 可視化的能力。同時基于QT 功能提供的BIT 可視化功能設計,實現了界面和業務邏輯的分離,為用戶行為設計師和開發人員并行工作提供了可能,為BIT 可視化模塊的模塊化,通用化提供了重要支撐。

猜你喜歡
頁面可視化界面
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 97免费在线观看视频| 欧美日韩国产在线播放| 伊人激情综合网| 国产va视频| 久久黄色视频影| 国产熟女一级毛片| 欧亚日韩Av| 台湾AV国片精品女同性| 日韩AV手机在线观看蜜芽| 无码AV动漫| 国产嫩草在线观看| 亚洲乱伦视频| www中文字幕在线观看| 视频二区亚洲精品| 爱做久久久久久| 日韩天堂网| 在线观看亚洲国产| 久久国产毛片| 四虎永久免费地址在线网站| 欧美激情福利| 国产美女久久久久不卡| 天堂在线视频精品| 手机成人午夜在线视频| 亚洲国产日韩在线观看| 最近最新中文字幕免费的一页| a亚洲天堂| 国产黄色片在线看| 99久久精品国产综合婷婷| 欧美在线视频不卡| 欧美综合中文字幕久久| 国产又大又粗又猛又爽的视频| 国产人前露出系列视频| 国精品91人妻无码一区二区三区| 操美女免费网站| 白浆免费视频国产精品视频| 国产天天射| 国产白浆在线| 又爽又黄又无遮挡网站| 亚洲无码91视频| 中文字幕在线欧美| 香蕉伊思人视频| 91福利一区二区三区| 国产乱视频网站| 91精品综合| 狠狠v日韩v欧美v| 片在线无码观看| 女人18毛片一级毛片在线 | 日本在线欧美在线| 国产区网址| 欧美成人A视频| 超碰免费91| 亚洲中文字幕在线观看| 1769国产精品免费视频| 国产精品人人做人人爽人人添| 国产自视频| 少妇精品网站| 福利在线一区| 久久精品亚洲专区| 一本久道久久综合多人| 欧美不卡二区| 免费在线视频a| 免费看a级毛片| 亚洲天堂精品在线观看| 国产人在线成免费视频| 伊人激情综合网| 99热线精品大全在线观看| 国产在线视频自拍| 国产成人精品一区二区| 亚洲av综合网| 九九热免费在线视频| 亚洲无码高清一区| 日韩高清成人| 亚洲无码91视频| 日韩一区精品视频一区二区| 草草线在成年免费视频2| 亚洲黄色激情网站| 国产成人盗摄精品| 黄色网址免费在线| 日韩精品无码免费一区二区三区 | 国产主播一区二区三区| 99福利视频导航| 国产成人在线无码免费视频|