亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種業(yè)務(wù)功能可重構(gòu)的軟件框架的制作方法

文檔序號:6624573閱讀:231來源:國知局
一種業(yè)務(wù)功能可重構(gòu)的軟件框架的制作方法
【專利摘要】本發(fā)明提出了一種業(yè)務(wù)功能可重構(gòu)的軟件框架,包括組件容器、組件管理模塊、界面管理模塊、通信管理模塊;軟件框架通過加載執(zhí)行多個業(yè)務(wù)組件實現(xiàn)業(yè)務(wù)功能,在執(zhí)行過程中,通過加卸載業(yè)務(wù)組件實現(xiàn)業(yè)務(wù)功能的重構(gòu);組件容器是該集成框架的主程序模塊;組件管理模塊負(fù)責(zé)業(yè)務(wù)組件的加卸載管理,運(yùn)行時狀態(tài)管理和接口管理;面管理模塊負(fù)責(zé)業(yè)務(wù)組件的界面創(chuàng)建、自由拖動、大小調(diào)整、顯示/隱藏、業(yè)務(wù)組件加卸載后整個軟件界面的自動調(diào)整以及當(dāng)前界面布局方案的保存;通信管理模塊負(fù)責(zé)管理所有業(yè)務(wù)組件之間的數(shù)據(jù)通信。本發(fā)明具有業(yè)務(wù)功能可重構(gòu)、界面布局可配置、業(yè)務(wù)組件可靈活組裝等特點。
【專利說明】一種業(yè)務(wù)功能可重構(gòu)的軟件框架

【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機(jī)軟件的應(yīng)用【技術(shù)領(lǐng)域】,具體為一種業(yè)務(wù)功能可重構(gòu)的軟件框架。

【背景技術(shù)】
[0002]在目前的桌面操作系統(tǒng)上,本地應(yīng)用軟件的開發(fā)一般是基于開發(fā)平臺所提供的軟件框架來進(jìn)行的。其中最著名的軟件框架有:微軟公司的MFC框架和Digia公司的QT框架。
[0003]上述兩種框架的主要功能是提供程序的執(zhí)行主線程和顯示用戶界面。開發(fā)者通常按照軟件框架設(shè)定的模式進(jìn)行業(yè)務(wù)邏輯和相應(yīng)界面的編寫。這往往導(dǎo)致業(yè)務(wù)邏輯和用戶界面的緊密耦合,業(yè)務(wù)邏輯的可復(fù)用性大大降低,并且界面的調(diào)整常常涉及到業(yè)務(wù)邏輯的修改。這樣開發(fā)出來的應(yīng)用軟件往往功能單一,可擴(kuò)展性較差,界面布局固定,升級維護(hù)也非常困難。


【發(fā)明內(nèi)容】

[0004]本發(fā)明針對現(xiàn)有軟件框架的不足,提出了一種業(yè)務(wù)功能可重構(gòu)的軟件框架。本發(fā)明具有業(yè)務(wù)功能可重構(gòu)、界面布局可配置、業(yè)務(wù)組件可靈活組裝等特點。
[0005]本發(fā)明的技術(shù)方案為:
[0006]所述一種業(yè)務(wù)功能可重構(gòu)的軟件框架,其特征在于:包括組件容器、組件管理模塊、界面管理模塊、通信管理模塊;軟件框架通過加載執(zhí)行多個業(yè)務(wù)組件實現(xiàn)業(yè)務(wù)功能,在執(zhí)行過程中,通過加卸載業(yè)務(wù)組件實現(xiàn)業(yè)務(wù)功能的重構(gòu);
[0007]組件容器在軟件啟動時創(chuàng)建程序的主進(jìn)程/主線程,初始化運(yùn)行時環(huán)境,加載組件管理模塊、界面管理模塊和通信管理模塊;加載完成后,組件容器先調(diào)用組件管理模塊加載各業(yè)務(wù)組件,接著調(diào)用界面管理模塊為各業(yè)務(wù)組件創(chuàng)建界面,最后調(diào)用通信管理模塊為組件間通信進(jìn)行初始化;
[0008]組件管理模塊根據(jù)配置文件加載相應(yīng)的業(yè)務(wù)組件,并對業(yè)務(wù)組件進(jìn)行初識化;組件管理模塊能夠向用戶展現(xiàn)軟件框架內(nèi)所有業(yè)務(wù)組件的加卸載狀態(tài)和界面預(yù)覽,并根據(jù)用戶指令加卸載相應(yīng)業(yè)務(wù)組件;
[0009]界面管理模塊首先收集顯示器信息,判斷是否能夠多屏顯示,然后根據(jù)業(yè)務(wù)組件的界面配置文件創(chuàng)建菜單欄、工具欄、狀態(tài)欄,并調(diào)用業(yè)務(wù)組件的界面創(chuàng)建接口創(chuàng)建業(yè)務(wù)組件的主界面;界面管理模塊能夠根據(jù)業(yè)務(wù)組件在運(yùn)行時動態(tài)加卸載狀態(tài)自動調(diào)整當(dāng)前界面,能夠根據(jù)用戶指令實現(xiàn)業(yè)務(wù)組件的主界面拖動以及適時顯示/隱藏主界面,能夠保存業(yè)務(wù)組件當(dāng)前的界面布局方案,使得業(yè)務(wù)組件后續(xù)啟動后保持界面布局不變;
[0010]通信管理模塊采用發(fā)布/訂閱機(jī)制,每個業(yè)務(wù)組件在初始化通信接口時,向通信管理模塊注冊自己將要發(fā)布/訂閱的數(shù)據(jù)主題,通信管理模塊在所有收集到的數(shù)據(jù)主題中進(jìn)行數(shù)據(jù)主題配對,并為配對成功的業(yè)務(wù)組件建立數(shù)據(jù)通路。
[0011]有益效果
[0012]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果:
[0013](I)本發(fā)明將業(yè)務(wù)功能細(xì)分為高內(nèi)聚低耦合的業(yè)務(wù)組件進(jìn)行統(tǒng)一調(diào)度管理,方便了開發(fā)者復(fù)用業(yè)務(wù)邏輯,極大地減少了開發(fā)者的工作量。
[0014](2)本發(fā)明允許用戶進(jìn)行業(yè)務(wù)組件模塊的動靜態(tài)加卸載,從而靈活地重構(gòu)軟件的業(yè)務(wù)功能。
[0015](3)本發(fā)明允許用戶按需組裝業(yè)務(wù)組件模塊,可視化設(shè)計用戶界面,形成新的業(yè)務(wù)能力,提高了軟件的靈活性和可擴(kuò)展性。

【專利附圖】

【附圖說明】
[0016]圖1是本發(fā)明軟件框架模塊關(guān)系圖。
[0017]圖2是本發(fā)明一種實施例的系統(tǒng)監(jiān)控軟件模塊組成圖。
[0018]圖3是本發(fā)明一種實施例的功能重構(gòu)效果圖。

【具體實施方式】
[0019]下面結(jié)合附圖和實施例對本發(fā)明的方案作詳細(xì)說明:本實施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實施,給出了詳細(xì)的實施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實施例。
[0020]本實施例運(yùn)行在Windows XP操作系統(tǒng)上,采用Visual Stud1 2008作為開發(fā)環(huán)境,選擇Visual C++作為開發(fā)語言。
[0021]從可以看出,本實施例中軟件框架包括組件容器、組件管理模塊、界面管理模塊、通信管理模塊;軟件框架通過加載執(zhí)行多個業(yè)務(wù)組件實現(xiàn)業(yè)務(wù)功能,在執(zhí)行過程中,按需通過加卸載業(yè)務(wù)組件實現(xiàn)業(yè)務(wù)功能的重構(gòu)。
[0022](I)組件容器
[0023]組件容器作為該集成框架的主程序模塊,基本程序框架采用MFC實現(xiàn),編譯為EXE格式的二進(jìn)制可執(zhí)行文件。
[0024]組件容器在程序啟動時依次完成以下幾個主要工作:
[0025]I)創(chuàng)建程序主進(jìn)程。
[0026]2)完成MFC必要的初始化操作。
[0027]3)加載組件管理模塊,界面管理模塊,通信管理模塊,并調(diào)用它們的初始化接口進(jìn)行初始化操作。
[0028]4)驅(qū)動組件管理模塊加載并初始化業(yè)務(wù)組件模塊。
[0029]5)驅(qū)動界面管理模塊創(chuàng)建業(yè)務(wù)組件界面并進(jìn)行布局。
[0030]6)驅(qū)動通信管理模塊為組件間通信進(jìn)行必要的初始化。
[0031]組件容器在程序關(guān)閉時依次完成以下幾個主要工作:
[0032]I)驅(qū)動界面管理模塊銷毀業(yè)務(wù)組件界面。
[0033]2)驅(qū)動組件管理模塊反初始化業(yè)務(wù)組件模塊并對其進(jìn)行卸載。
[0034]3)反初始化界面管理模塊,對其進(jìn)行卸載。
[0035]4)反初始化通信管理模塊,對其進(jìn)行卸載。
[0036]5)反初始化組件管理模塊,對其進(jìn)行卸載。
[0037]6)完成MFC必要的清理操作。
[0038]7)退出程序。
[0039](2)組件管理模塊
[0040]組件管理模塊實現(xiàn)為基于MFC的DLL格式的二進(jìn)制文件,它提供一系列接口供組件容器調(diào)用,主要負(fù)責(zé)業(yè)務(wù)組件的加卸載管理,運(yùn)行時狀態(tài)管理和接口管理。最主要的接口有:
[0041]I)加載組件接口
[0042]根據(jù)配置文件讀取要加載的業(yè)務(wù)組件模塊名稱,調(diào)用Windows系統(tǒng)接口LoadLibraryEx在指定的文件路徑下加載業(yè)務(wù)組件的二進(jìn)制文件。加載完成后,調(diào)用業(yè)務(wù)組件接口進(jìn)行初始化操作。
[0043]2)卸載組件接口
[0044]在組件管理列表中查找要卸載的業(yè)務(wù)組件名稱,調(diào)用其反初始化接口完成卸載前的清理操作,然后調(diào)用Windows系統(tǒng)接口 FreeLibrary將業(yè)務(wù)組件從內(nèi)存中釋放。
[0045]3)獲取組件狀態(tài)接口。
[0046]在組件管理列表中查詢組件的加載狀態(tài),描述信息,運(yùn)行時配置以及獲取工廠類指針等操作。
[0047]4)修改組件信息接口。
[0048]動態(tài)修改組件的描述信息以及運(yùn)行時配置。
[0049]實現(xiàn)在程序運(yùn)行過程中,組件管理模塊向用戶展現(xiàn)本軟件框架所有業(yè)務(wù)組件的加卸載狀態(tài)和界面預(yù)覽,使用戶能夠根據(jù)需要選擇要加卸載的業(yè)務(wù)組件,從而達(dá)到業(yè)務(wù)功能動態(tài)重構(gòu)的目的。
[0050](3)界面管理模塊
[0051]界面管理模塊實現(xiàn)為基于MFC的DLL格式的二進(jìn)制文件。它主要負(fù)責(zé)業(yè)務(wù)組件的界面創(chuàng)建、自由拖動、大小調(diào)整、顯示/隱藏、業(yè)務(wù)組件加卸載后整個軟件界面的自動調(diào)整以及當(dāng)前界面布局方案的保存等,除此之外還支持多屏顯示,如界面管理模塊在加載后,會首先收集顯示器信息,判斷是否可以多屏顯示。界面管理模塊提供一系列接口供組件容器和業(yè)務(wù)組件模塊調(diào)用,最主要的接口有:
[0052]I)創(chuàng)建/銷毀業(yè)務(wù)組件界面接口。
[0053]界面管理模塊驅(qū)動業(yè)務(wù)組件模塊讀取自身的界面配置文件,獲取業(yè)務(wù)組件的界面信息,這些信息包括業(yè)務(wù)組件的菜單項,工具欄項,狀態(tài)欄項以及業(yè)務(wù)窗口和布局方式。界面管理模塊將上述讀取的界面信息和業(yè)務(wù)組件ID關(guān)聯(lián)起來,然后驅(qū)動業(yè)務(wù)組件模塊創(chuàng)建各自的菜單欄,工具欄,狀態(tài)欄和業(yè)務(wù)界面。當(dāng)需要銷毀業(yè)務(wù)組件界面時,界面管理模塊根據(jù)業(yè)務(wù)組件ID查詢到其界面信息,驅(qū)動業(yè)務(wù)組件模塊根據(jù)這些信息銷毀該各自的菜單項,工具欄項,狀態(tài)欄項以及業(yè)務(wù)窗口。
[0054]2)人工/自動調(diào)整當(dāng)前業(yè)務(wù)組件界面接口。
[0055]界面管理模塊提供業(yè)務(wù)組件界面可拖動,可??浚筛淖兇笮『涂娠@示/隱藏等接口,用戶根據(jù)需要手動調(diào)整界面布局。當(dāng)業(yè)務(wù)組件被加/卸載之后,界面管理模塊根據(jù)當(dāng)前應(yīng)用界面的實際情況重新對應(yīng)用的所有業(yè)務(wù)組件界面進(jìn)行調(diào)整,使其處于合適的位置。
[0056]3)業(yè)務(wù)組件界面保存接口。
[0057]界面管理模塊獲取當(dāng)前所有業(yè)務(wù)組件的界面信息,將其寫入業(yè)務(wù)組件的界面配置文件中。在下次啟動時,通過讀取更新后的界面配置文件達(dá)到保存業(yè)務(wù)組件界面的目的。
[0058]因此,在軟件啟動前,業(yè)務(wù)組件通過編輯其界面配置文件可快速實現(xiàn)界面布局的調(diào)整,軟件運(yùn)行時,用戶也能通過界面管理模塊提供的拖動、顯示/隱藏等功能動態(tài)改變界面布局,增加了軟件界面布局的靈活性。
[0059](4)通信管理模塊
[0060]通信管理模塊實現(xiàn)為基于MFC的DLL格式的二進(jìn)制文件。它負(fù)責(zé)管理所有業(yè)務(wù)組件之間的數(shù)據(jù)通信。所有的業(yè)務(wù)組件之間不直接進(jìn)行數(shù)據(jù)交互,都是通過將數(shù)據(jù)先發(fā)送給通信管理模塊,然后由該模塊統(tǒng)一負(fù)責(zé)數(shù)據(jù)的分發(fā)。
[0061]通信管理模塊采用發(fā)布/訂閱的方式來管理數(shù)據(jù)的分發(fā),每個業(yè)務(wù)組件模塊在初始化通信接口時,會向通信管理模塊注冊自己將要發(fā)布/訂閱的數(shù)據(jù)主題,由通信管理模塊進(jìn)行統(tǒng)一的數(shù)據(jù)收發(fā)管理。主要提供的接口如下:
[0062]I)數(shù)據(jù)發(fā)布接口。
[0063]業(yè)務(wù)組件使用該接口來發(fā)布自身輸出的數(shù)據(jù)主題,通信管理模塊將這些數(shù)據(jù)主題與訂閱的數(shù)據(jù)主題進(jìn)行匹配,如果匹配上了,就在所對應(yīng)的業(yè)務(wù)組件之間建立邏輯連接。否貝U,不建立連接。
[0064]2)數(shù)據(jù)訂閱接口。
[0065]業(yè)務(wù)組件使用該接口來訂閱自身輸入的數(shù)據(jù)主題以及用來接收數(shù)據(jù)的回調(diào)函數(shù),通信管理模塊將這些數(shù)據(jù)主題與發(fā)布的數(shù)據(jù)主題進(jìn)行匹配,如果匹配上了,就在所對應(yīng)的業(yè)務(wù)組件之間建立邏輯連接。否則,不建立連接。
[0066]3)數(shù)據(jù)發(fā)送接口。
[0067]業(yè)務(wù)組件使用該接口向指定的數(shù)據(jù)主題發(fā)送業(yè)務(wù)數(shù)據(jù)。通信管理模塊根據(jù)邏輯連接找到訂閱了該數(shù)據(jù)主題的業(yè)務(wù)組件,并調(diào)用這些組件注冊的回調(diào)函數(shù),將數(shù)據(jù)傳入。
[0068](5)業(yè)務(wù)組件模塊
[0069]業(yè)務(wù)組件模塊實現(xiàn)為基于MFC的DLL格式的二進(jìn)制文件,它主要完成與業(yè)務(wù)相關(guān)的功能,如業(yè)務(wù)界面顯示和業(yè)務(wù)邏輯計算。業(yè)務(wù)組件模塊需要提供必要的接口供組件管理模塊、界面管理模塊和通信管理模塊調(diào)用,這些接口主要有:
[0070]I)初始化/反初始化接口。
[0071]在初始化接口中,業(yè)務(wù)組件從配置文件中讀取界面信息、數(shù)據(jù)發(fā)布/訂閱信息和業(yè)務(wù)信息,然后根據(jù)這些信息進(jìn)行相應(yīng)的業(yè)務(wù)邏輯初始化操作。在反初始化接口中,業(yè)務(wù)組件保存與業(yè)務(wù)相關(guān)的數(shù)據(jù)信息,進(jìn)行業(yè)務(wù)邏輯清理工作。
[0072]2)創(chuàng)建/銷毀業(yè)務(wù)界面接口。
[0073]業(yè)務(wù)界面創(chuàng)建/銷毀接口由界面管理程序調(diào)用。在業(yè)務(wù)界面創(chuàng)建接口中,業(yè)務(wù)組件根據(jù)讀取到的界面信息進(jìn)行自身界面的創(chuàng)建,包括創(chuàng)建菜單欄、工具欄、狀態(tài)欄和業(yè)務(wù)主窗口等操作。在業(yè)務(wù)界面銷毀接口中,業(yè)務(wù)組件銷毀自身的菜單欄、工具欄、狀態(tài)欄和業(yè)務(wù)主窗口等界面元素。
[0074]3)訂閱數(shù)據(jù)回調(diào)函數(shù)接口。
[0075]業(yè)務(wù)組件通過注冊該接口來獲得訂閱主題的數(shù)據(jù)。當(dāng)訂閱主題數(shù)據(jù)到來時,業(yè)務(wù)組件在該接口中對數(shù)據(jù)進(jìn)行相應(yīng)的業(yè)務(wù)邏輯處理。
[0076]圖2為某系統(tǒng)監(jiān)控軟件的模塊組成情況。該軟件主要功能是控制系統(tǒng)正常工作,并且監(jiān)視系統(tǒng)運(yùn)行情況。由于系統(tǒng)監(jiān)視組件過于煩多,不可能顯示所有的監(jiān)視視圖,通過本發(fā)明,該軟件可在運(yùn)行前靜態(tài)地通過配置文件進(jìn)行重構(gòu),或者運(yùn)行時動態(tài)地進(jìn)行重構(gòu),針對系統(tǒng)的不同方面進(jìn)行監(jiān)視。圖3為系統(tǒng)監(jiān)控軟件通過本發(fā)明進(jìn)行功能重構(gòu)后的效果圖。
【權(quán)利要求】
1.一種業(yè)務(wù)功能可重構(gòu)的軟件框架,其特征在于:包括組件容器、組件管理模塊、界面管理模塊、通信管理模塊;軟件框架通過加載執(zhí)行多個業(yè)務(wù)組件實現(xiàn)業(yè)務(wù)功能,在執(zhí)行過程中,通過加卸載業(yè)務(wù)組件實現(xiàn)業(yè)務(wù)功能的重構(gòu); 組件容器在軟件啟動時創(chuàng)建程序的主進(jìn)程/主線程,初始化運(yùn)行時環(huán)境,加載組件管理模塊、界面管理模塊和通信管理模塊;加載完成后,組件容器先調(diào)用組件管理模塊加載各業(yè)務(wù)組件,接著調(diào)用界面管理模塊為各業(yè)務(wù)組件創(chuàng)建界面,最后調(diào)用通信管理模塊為組件間通信進(jìn)行初始化; 組件管理模塊根據(jù)配置文件加載相應(yīng)的業(yè)務(wù)組件,并對業(yè)務(wù)組件進(jìn)行初識化;組件管理模塊能夠向用戶展現(xiàn)軟件框架內(nèi)所有業(yè)務(wù)組件的加卸載狀態(tài)和界面預(yù)覽,并根據(jù)用戶指令加卸載相應(yīng)業(yè)務(wù)組件; 界面管理模塊首先收集顯示器信息,判斷是否能夠多屏顯示,然后根據(jù)業(yè)務(wù)組件的界面配置文件創(chuàng)建菜單欄、工具欄、狀態(tài)欄,并調(diào)用業(yè)務(wù)組件的界面創(chuàng)建接口創(chuàng)建業(yè)務(wù)組件的主界面;界面管理模塊能夠根據(jù)業(yè)務(wù)組件在運(yùn)行時動態(tài)加卸載狀態(tài)自動調(diào)整當(dāng)前界面,能夠根據(jù)用戶指令實現(xiàn)業(yè)務(wù)組件的主界面拖動以及適時顯示/隱藏主界面,能夠保存業(yè)務(wù)組件當(dāng)前的界面布局方案,使得業(yè)務(wù)組件后續(xù)啟動后保持界面布局不變; 通信管理模塊采用發(fā)布/訂閱機(jī)制,每個業(yè)務(wù)組件在初始化通信接口時,向通信管理模塊注冊自己將要發(fā)布/訂閱的數(shù)據(jù)主題,通信管理模塊在所有收集到的數(shù)據(jù)主題中進(jìn)行數(shù)據(jù)主題配對,并為配對成功的業(yè)務(wù)組件建立數(shù)據(jù)通路。
【文檔編號】G06F9/44GK104239037SQ201410421766
【公開日】2014年12月24日 申請日期:2014年8月25日 優(yōu)先權(quán)日:2014年8月25日
【發(fā)明者】林睿, 劉湘德 申請人:中國電子科技集團(tuán)公司第二十九研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1