控件動(dòng)態(tài)組裝方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種控件動(dòng)態(tài)組裝方法和系統(tǒng),所述方法包括:加載預(yù)先開發(fā)的各控件;利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱;將用戶根據(jù)所需軟件系統(tǒng)的功能需求在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件后,針對(duì)每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板;在接收到用戶在所述配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值后,生成配置文件;根據(jù)所述配置文件調(diào)用相應(yīng)控件、傳遞屬性參數(shù)下的屬性值,以動(dòng)態(tài)組裝出所需軟件系統(tǒng)。應(yīng)用本發(fā)明不需進(jìn)行代碼編寫即可開發(fā)所需的軟件系統(tǒng),提供軟件系統(tǒng)的開發(fā)效率。
【專利說明】控件動(dòng)態(tài)組裝方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件領(lǐng)域,尤其涉及一種控件動(dòng)態(tài)組裝方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著軟件系統(tǒng)在信息化領(lǐng)域的廣泛深入,軟件系統(tǒng)越來越復(fù)雜,以團(tuán)隊(duì)為組織形式以功能模塊為單元的開發(fā)形式在軟件行業(yè)中非常高效和流行。應(yīng)用控件作為功能模塊來開發(fā)軟件系統(tǒng),可以大大地減少重復(fù)性勞動(dòng),提高軟件系統(tǒng)的開發(fā)效率。
[0003]在應(yīng)用控件開發(fā)軟件系統(tǒng)之前,需要控件設(shè)計(jì)人員編寫代碼實(shí)現(xiàn)控件的功能;軟件系統(tǒng)開發(fā)人員可以通過調(diào)用控件完成軟件系統(tǒng)的各項(xiàng)功能。尤其對(duì)于圖形界面Π類軟件系統(tǒng)的開發(fā),控件得到了廣泛的應(yīng)用。
[0004]軟件系統(tǒng)在調(diào)用控件前,首先需要對(duì)控件的屬性進(jìn)行設(shè)置;也就是說,軟件系統(tǒng)的開發(fā)人員在編寫調(diào)用控件的語句之前,需要編寫出為該控件設(shè)置參數(shù)的語句;
[0005]比如設(shè)置字體顏色的語句:font color = 〃〃 ;
[0006]設(shè)置控件位置的語句:
[0007]FormData data = new FormData O ;
[0008]data, left = new FormAttachment ("","");
[0009]data, top = new FormAttachment ('"', ;
[0010]button.setLayoutData (data);
[0011]設(shè)置背景圖片的語句:body style = 〃background_image:圖片路徑〃。
[0012]雖然使用控件可以大大提高開發(fā)軟件系統(tǒng)的效率,但是現(xiàn)有的方法,仍然需要開發(fā)人員編寫代碼;也就是說,現(xiàn)有的軟件系統(tǒng)的開發(fā)仍然需要由會(huì)編寫代碼的編程人員來完成;然而,在面對(duì)需求隨時(shí)改變、軟件系統(tǒng)功能需要快速隨之更改的情況下,現(xiàn)有的由編程人員編寫代碼、進(jìn)行調(diào)試開發(fā)出軟件系統(tǒng)的方法已經(jīng)不能滿足快速開發(fā)、隨時(shí)開發(fā)、由普通人員開發(fā)的需求。
【發(fā)明內(nèi)容】
[0013]針對(duì)上述現(xiàn)有技術(shù)存在的缺陷,本發(fā)明實(shí)施例提供了一種控件動(dòng)態(tài)組裝方法和系統(tǒng),用以在開發(fā)軟件系統(tǒng)時(shí)不用編寫代碼,且提高軟件系統(tǒng)的開發(fā)效率。
[0014]本發(fā)明實(shí)施例提供了一種控件動(dòng)態(tài)組裝方法,包括:
[0015]加載預(yù)先開發(fā)的各控件;其中,所述控件是根據(jù)該控件的開發(fā)規(guī)范開發(fā)出來的;
[0016]利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱;
[0017]針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,并將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯示;
[0018]將用戶根據(jù)所需軟件系統(tǒng)的功能需求在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件后,針對(duì)每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板;
[0019]在接收到用戶在所述配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值后,生成配置文件;
[0020]根據(jù)所述配置文件中的各待組裝控件的控件名稱分別調(diào)用相應(yīng)控件,并在控件調(diào)用過程中,向調(diào)用的控件傳遞所述配置文件中該控件的各屬性參數(shù)下的屬性值,以動(dòng)態(tài)組裝出所需軟件系統(tǒng)。
[0021]較佳地,在所述組成配置文件模板之前,還包括:
[0022]從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù)下的默認(rèn)屬性值;以及
[0023]所述組成配置文件模板具體包括:
[0024]根據(jù)各待組裝控件的控件名稱,以及獲取的各屬性參數(shù)、屬性參數(shù)下的默認(rèn)屬性值組成所述配置文件模板。
[0025]其中,所述針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,具體包括:
[0026]針對(duì)獲取的每個(gè)控件名稱,獲取文件名包含有該控件名稱的開發(fā)規(guī)范文件,所述開發(fā)規(guī)范文件中記載有具有該控件名稱的控件的開發(fā)規(guī)范。
[0027]較佳地,所述開發(fā)規(guī)范、配置文件模板均是基于XML格式的。
[0028]本發(fā)明實(shí)施例還提供了一種控件動(dòng)態(tài)組裝方法,包括:
[0029]加載預(yù)先開發(fā)的各控件;其中,所述控件是根據(jù)該控件的開發(fā)規(guī)范開發(fā)出來的;
[0030]獲取預(yù)先保存的配置文件后,根據(jù)所述配置文件中的各待組裝控件的控件名稱分別調(diào)用相應(yīng)控件,并在控件調(diào)用過程中,向調(diào)用的控件傳遞所述配置文件中該控件的各屬性參數(shù)下的屬性值,以動(dòng)態(tài)組裝出所需軟件系統(tǒng);
[0031]其中,所述配置文件是根據(jù)配置文件模板,以及用戶在配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值所生成的;所述配置文件模板是根據(jù)用戶依據(jù)所需軟件系統(tǒng)的功能需求選擇的控件的開發(fā)規(guī)范自動(dòng)生成的。
[0032]其中,所述配置文件模板具體根據(jù)如下方法生成:
[0033]加載預(yù)先開發(fā)的各控件;其中,所述控件是根據(jù)該控件的開發(fā)規(guī)范開發(fā)出來的;
[0034]利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱;
[0035]針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,并將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯示;
[0036]將用戶根據(jù)所需軟件系統(tǒng)的功能需求,在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件后,針對(duì)每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板。
[0037]較佳地,在所述組成配置文件模板之前,還包括:
[0038]從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù)下的默認(rèn)屬性值;以及
[0039]所述組成配置文件模板具體包括:
[0040]根據(jù)各待組裝控件的控件名稱,以及獲取的各屬性參數(shù)、屬性參數(shù)下的默認(rèn)屬性值組成所述配置文件模板。
[0041]本發(fā)明實(shí)施例還提供了一種控件動(dòng)態(tài)組裝系統(tǒng),包括:
[0042]控件加載模塊,用于加載預(yù)先開發(fā)的各控件;其中,所述控件是根據(jù)該控件的開發(fā)規(guī)范開發(fā)出來的;
[0043]配置文件獲取模塊,用于獲取預(yù)先保存的配置文件;
[0044]控件調(diào)用模塊,用于根據(jù)所述配置文件獲取模塊獲取的配置文件中的各待組裝控件的控件名稱分別調(diào)用相應(yīng)控件,并在控件調(diào)用過程中,向調(diào)用的控件傳遞所述配置文件中該控件的各屬性參數(shù)下的屬性值,以動(dòng)態(tài)組裝出所需軟件系統(tǒng)。
[0045]較佳地,所述系統(tǒng)還包括:
[0046]配置文件生成模塊,用于加載預(yù)先開發(fā)的各控件;利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱;針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,并將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯示;將用戶根據(jù)所需軟件系統(tǒng)的功能需求,在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件后,針對(duì)每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板;在接收到用戶在所述配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值后,生成配置文件。
[0047]其中,所述配置文件生成模塊具體包括:
[0048]控件加載單元,用于加載預(yù)先開發(fā)的各控件;
[0049]控件選擇單元,利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱;針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,并將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯示;將用戶根據(jù)所需軟件系統(tǒng)的功能需求,在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件;
[0050]配置文件模板生成單元,用于針對(duì)所述控件選擇單元確定的每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板;
[0051]配置文件保存單元,用于在接收到用戶在所述配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值后,生成配置文件并保存。
[0052]本發(fā)明的技術(shù)方案中,在開發(fā)軟件系統(tǒng)時(shí),完全不需要專業(yè)的編程人員進(jìn)行代碼的編寫;對(duì)于普通的了解業(yè)務(wù)的人員或用戶,可以通過在控件選擇對(duì)話框中選擇出需要的控件,并在配置文件模板中配置屬性值生成配置文件,就可以開發(fā)出所需的軟件系統(tǒng);大大降低了軟件系統(tǒng)對(duì)開發(fā)人員的編程要求,更便于人員對(duì)軟件系統(tǒng)的開發(fā),也大大提高了軟件系統(tǒng)的開發(fā)效率。
【專利附圖】
【附圖說明】
[0053]圖la、lb為本發(fā)明實(shí)施例的控件動(dòng)態(tài)組裝、軟件系統(tǒng)開發(fā)的方法流程圖;
[0054]圖2為本發(fā)明實(shí)施例的控件動(dòng)態(tài)組裝系統(tǒng)的內(nèi)部結(jié)構(gòu)框圖;
[0055]圖3為本發(fā)明實(shí)施例的配置文件生成模塊的內(nèi)部結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0056]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉出優(yōu)選實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。然而,需要說明的是,說明書中列出的許多細(xì)節(jié)僅僅是為了使讀者對(duì)本發(fā)明的一個(gè)或多個(gè)方面有一個(gè)透徹的理解,即便沒有這些特定的細(xì)節(jié)也可以實(shí)現(xiàn)本發(fā)明的這些方面。
[0057]本申請(qǐng)使用的“模塊”、“系統(tǒng)”等術(shù)語旨在包括與計(jì)算機(jī)相關(guān)的實(shí)體,例如但不限于硬件、固件、軟硬件組合、軟件或者執(zhí)行中的軟件。例如,模塊可以是,但并不僅限于:處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行程序、執(zhí)行的線程、程序和/或計(jì)算機(jī)。舉例來說,計(jì)算設(shè)備上運(yùn)行的應(yīng)用程序和此計(jì)算設(shè)備都可以是模塊。一個(gè)或多個(gè)模塊可以位于執(zhí)行中的一個(gè)進(jìn)程和/或線程內(nèi)。
[0058]本發(fā)明的技術(shù)方案中,根據(jù)配置文件中記載的待組裝控件的控件名稱以及各屬性參數(shù)下的屬性值,動(dòng)態(tài)調(diào)用相應(yīng)控件,并在調(diào)用控件的過程中向調(diào)用的控件傳遞該控件的各屬性參數(shù)下的屬性值,從而動(dòng)態(tài)組裝出所需軟件系統(tǒng)。
[0059]而上述的配置文件也不需要用戶進(jìn)行編寫:本發(fā)明的發(fā)明人考慮到,為保證控件的獨(dú)立性、解耦性,控件設(shè)計(jì)者或控件開發(fā)人員可以為每個(gè)控件編寫詳細(xì)的開發(fā)規(guī)范。在控件的開發(fā)規(guī)范中通常描述有控件的控件名稱、控件的功能、控件所使用的屬性參數(shù),甚而包括各屬性參數(shù)下的默認(rèn)屬性值。開發(fā)規(guī)范通常采用自然語言,而非機(jī)器語言編寫,因此具有良好的可讀性。因此,可以利用待組裝控件的開發(fā)規(guī)范,自動(dòng)生成配置文件模板;用戶只需在配置文件模板的各待組裝控件的屬性參數(shù)下填寫所需的屬性值,就可以生成配置文件。
[0060]因此,在軟件系統(tǒng)的整個(gè)開發(fā)過程中,用戶只需要在配置文件模板中填寫待組裝控件的屬性參數(shù)下的屬性值,而不必編寫代碼,大大提高了軟件系統(tǒng)的開發(fā)效率,可以滿足快速開發(fā)、隨時(shí)開發(fā)、由普通人員開發(fā)的需求。
[0061]下面結(jié)合附圖詳細(xì)說明本發(fā)明的技術(shù)方案。
[0062]在應(yīng)用控件進(jìn)行動(dòng)態(tài)組裝之前可以先由控件設(shè)計(jì)人員或控件開發(fā)人員進(jìn)行控件開發(fā)。在控件開發(fā)過程中,根據(jù)要實(shí)現(xiàn)的功能需求,將功能需求劃分到具有獨(dú)立功能的待開發(fā)的控件,并為每個(gè)待開發(fā)的控件建立開發(fā)規(guī)范。待開發(fā)的控件的開發(fā)規(guī)范中可以包括:該控件的控件名稱、該控件的功能描述信息、該控件的各屬性參數(shù)以及每個(gè)屬性參數(shù)下的默認(rèn)屬性值,進(jìn)而還可包括:該控件的每個(gè)屬性參數(shù)的含義、該控件所使用的資源等等。具體地,控件的開發(fā)規(guī)范可以是基于XML(eXtensible Markup Language,即可擴(kuò)展標(biāo)記語言)格式的,便于解析、提取信息。
[0063]開發(fā)人員根據(jù)待開發(fā)的控件的開發(fā)規(guī)范自行開發(fā)設(shè)計(jì)該控件,在開發(fā)完成后,可以動(dòng)態(tài)庫(dll)的形式提交控件。
[0064]基于根據(jù)上述的開發(fā)規(guī)范開發(fā)出的控件,本發(fā)明的控件動(dòng)態(tài)組裝系統(tǒng)在進(jìn)行控件動(dòng)態(tài)組裝、開發(fā)軟件系統(tǒng)之前,可以先采用如圖1a所示的流程步驟生成配置文件,具體包括:
[0065]SlOl:控件動(dòng)態(tài)組裝系統(tǒng)加載預(yù)先開發(fā)的各控件。
[0066]具體地,控件動(dòng)態(tài)組裝系統(tǒng)運(yùn)行后可以先加載根據(jù)開發(fā)規(guī)范預(yù)先開發(fā)出的各控件的動(dòng)態(tài)庫到內(nèi)存。
[0067]S102:控件動(dòng)態(tài)組裝系統(tǒng)利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱。
[0068]具體地,控件動(dòng)態(tài)組裝系統(tǒng)可以利用Assembly (程序集)、或Module (模塊)、或MethodInfo (方法信息)等反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱;當(dāng)然,控件動(dòng)態(tài)組裝系統(tǒng)還可利用Assembly反射技術(shù)獲取加載的每個(gè)控件的其它信息。
[0069]S103:控件動(dòng)態(tài)組裝系統(tǒng)對(duì)應(yīng)每個(gè)控件名稱,顯示具有該控件名稱的控件的功能描述信息。
[0070]本步驟中,控件動(dòng)態(tài)組裝系統(tǒng)針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,并將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯不O
[0071]具體地,控件動(dòng)態(tài)組裝系統(tǒng)顯示控件選擇對(duì)話框,并針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,即獲取具有該控件名稱的控件的開發(fā)規(guī)范;例如,獲取文件名稱包含有該控件名稱的開發(fā)規(guī)范文件;之后,將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯示。
[0072]S104:控件動(dòng)態(tài)組裝系統(tǒng)生成配置文件模板。
[0073]具體地,控件動(dòng)態(tài)組裝系統(tǒng)將用戶根據(jù)所需軟件系統(tǒng)的功能需求在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件后,針對(duì)每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板。具體地,配置文件模板中可以包含有每個(gè)待組裝控件的控件名稱,以及各屬性參數(shù),進(jìn)而還可包括每個(gè)屬性參數(shù)的含義,以及每個(gè)屬性參數(shù)下的默認(rèn)屬性值。
[0074]S105:控件動(dòng)態(tài)組裝系統(tǒng)在接收到用戶在所述配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值后,生成配置文件。
[0075]具體地,控件動(dòng)態(tài)組裝系統(tǒng)顯示生成的配置文件模板后,用戶可以在配置文件模板中填寫待組裝控件的各屬性參數(shù)下的屬性值,得到配置文件。事實(shí)上,如果配置文件模板中已填寫有默認(rèn)屬性值的情況下,用戶只需針對(duì)某些屬性參數(shù)下的屬性值進(jìn)行修改,即可得到配置文件。
[0076]控件動(dòng)態(tài)組裝系統(tǒng)在生成配置文件后,可以先將配置文件進(jìn)行保存;之后,獲取預(yù)先保存的配置文件進(jìn)行控件動(dòng)態(tài)組裝、開發(fā)軟件系統(tǒng);或者,控件動(dòng)態(tài)組裝系統(tǒng)在生成配置文件后,或者直接使用生成的配置文件進(jìn)行控件動(dòng)態(tài)組裝、開發(fā)軟件系統(tǒng)。具體使用配置文件進(jìn)行控件動(dòng)態(tài)組裝的方法,流程如圖1b所示,包括如下步驟:
[0077]S106:控件動(dòng)態(tài)組裝系統(tǒng)解析配置文件。
[0078]具體地,控件動(dòng)態(tài)組裝系統(tǒng)可以獲取之前生成的、或之前保存的配置文件,并從獲取的配置文件中解析出:各待組裝控件的控件名稱、每個(gè)待組裝控件的各屬性參數(shù)下的屬性值。
[0079]S107:控件動(dòng)態(tài)組裝系統(tǒng)針對(duì)配置文件中的每個(gè)待組裝控件的控件名稱,調(diào)用相應(yīng)控件。
[0080]具體地,控件動(dòng)態(tài)組裝系統(tǒng)對(duì)于解析出的每個(gè)控件名稱,從之前已加載到內(nèi)存的各控件中,調(diào)用與該控件名稱相應(yīng)的控件,并在調(diào)用該控件的過程中,將該控件的各屬性參數(shù)下的屬性值傳遞給該控件。
[0081]在對(duì)各待組裝控件調(diào)用后,完成了控件動(dòng)態(tài)組裝,開發(fā)所需軟件系統(tǒng)的過程。由此可以,應(yīng)用本發(fā)明的控件動(dòng)態(tài)組裝的方法,在軟件系統(tǒng)的開發(fā)過程中,完全不需要專業(yè)的編程人員進(jìn)行代碼的編寫;應(yīng)用本發(fā)明的控件動(dòng)態(tài)組裝的方法,對(duì)于普通的了解業(yè)務(wù)的人員或用戶,通過在控件選擇對(duì)話框中選擇出需要的控件,并在配置文件模板中配置屬性值生成配置文件,就可以開發(fā)出所需的軟件系統(tǒng);大大降低了軟件系統(tǒng)對(duì)開發(fā)人員的編程要求,更便于人員對(duì)軟件系統(tǒng)的開發(fā),也大大提高了軟件系統(tǒng)的開發(fā)效率。
[0082]上述控件動(dòng)態(tài)組裝系統(tǒng)的一種具體內(nèi)部結(jié)構(gòu)框圖,如圖2所示,包括:控件加載模塊201、配置文件獲取模塊202、控件調(diào)用模塊203。
[0083]其中,控件加載模塊201用于加載預(yù)先開發(fā)的各控件;其中,所述控件是根據(jù)該控件的開發(fā)規(guī)范開發(fā)出來的。
[0084]配置文件獲取模塊202用于獲取預(yù)先保存的配置文件。
[0085]控件調(diào)用模塊203用于根據(jù)配置文件獲取模塊202獲取的配置文件中的各待組裝控件的控件名稱分別調(diào)用相應(yīng)控件,并在控件調(diào)用過程中,向調(diào)用的控件傳遞所述配置文件中該控件的各屬性參數(shù)下的屬性值,以動(dòng)態(tài)組裝出所需軟件系統(tǒng)。
[0086]進(jìn)一步,控件動(dòng)態(tài)組裝系統(tǒng)中還可包括:配置文件生成模塊204。
[0087]配置文件生成模塊204用于加載預(yù)先開發(fā)的各控件;利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱;針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,并將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯示;將用戶根據(jù)所需軟件系統(tǒng)的功能需求,在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件后,針對(duì)每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板;在接收到用戶在所述配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值后,生成配置文件。
[0088]上述的配置文件生成模塊204,如圖3所示,具體可以包括如下單元:控件加載單元301、控件選擇單元302、配置文件模板生成單元303、配置文件保存單元304。
[0089]控件加載單元301用于加載預(yù)先開發(fā)的各控件;
[0090]控件選擇單元302利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱;針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,并將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯示;將用戶根據(jù)所需軟件系統(tǒng)的功能需求,在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件;
[0091]配置文件模板生成單元303用于針對(duì)所述控件選擇單元確定的每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板;
[0092]配置文件保存單元304用于在接收到用戶在所述配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值后,生成配置文件并保存。
[0093]上述控件動(dòng)態(tài)組裝系統(tǒng)中的各模塊、單元的具體功能可參考上述圖la、lb流程各步驟中的方法。
[0094]本發(fā)明的技術(shù)方案中,在開發(fā)軟件系統(tǒng)時(shí),完全不需要專業(yè)的編程人員進(jìn)行代碼的編寫;對(duì)于普通的了解業(yè)務(wù)的人員或用戶,可以通過在控件選擇對(duì)話框中選擇出需要的控件,并在配置文件模板中配置屬性值生成配置文件,就可以開發(fā)出所需的軟件系統(tǒng);大大降低了軟件系統(tǒng)對(duì)開發(fā)人員的編程要求,更便于人員對(duì)軟件系統(tǒng)的開發(fā),也大大提高了軟件系統(tǒng)的開發(fā)效率。
[0095]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,如:R0M/RAM、磁碟、光盤等。
[0096]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種控件動(dòng)態(tài)組裝方法,其特征在于,包括: 加載預(yù)先開發(fā)的各控件;其中,所述控件是根據(jù)該控件的開發(fā)規(guī)范開發(fā)出來的; 利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱; 針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,并將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯示; 將用戶根據(jù)所需軟件系統(tǒng)的功能需求在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件后,針對(duì)每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板; 在接收到用戶在所述配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值后,生成配置文件; 根據(jù)所述配置文件中的各待組裝控件的控件名稱分別調(diào)用相應(yīng)控件,并在控件調(diào)用過程中,向調(diào)用的控件傳遞所述配置文件中該控件的各屬性參數(shù)下的屬性值,以動(dòng)態(tài)組裝出所需軟件系統(tǒng)。
2.如權(quán)利要求1所述的方法,其特征在于,在所述組成配置文件模板之前,還包括: 從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù)下的默認(rèn)屬性值;以及 所述組成配置文件模板具體包括: 根據(jù)各待組裝控件的 控件名稱,以及獲取的各屬性參數(shù)、屬性參數(shù)下的默認(rèn)屬性值組成所述配置文件模板。
3.如權(quán)利要求1所述的方法,其特征在于,所述針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,具體包括: 針對(duì)獲取的每個(gè)控件名稱,獲取文件名包含有該控件名稱的開發(fā)規(guī)范文件,所述開發(fā)規(guī)范文件中記載有具有該控件名稱的控件的開發(fā)規(guī)范。
4.如權(quán)利要求1-3任一所述的方法,其特征在于,所述開發(fā)規(guī)范、配置文件模板均是基于XML格式的。
5.一種控件動(dòng)態(tài)組裝方法,其特征在于,包括: 加載預(yù)先開發(fā)的各控件;其中,所述控件是根據(jù)該控件的開發(fā)規(guī)范開發(fā)出來的; 獲取預(yù)先保存的配置文件后,根據(jù)所述配置文件中的各待組裝控件的控件名稱分別調(diào)用相應(yīng)控件,并在控件調(diào)用過程中,向調(diào)用的控件傳遞所述配置文件中該控件的各屬性參數(shù)下的屬性值,以動(dòng)態(tài)組裝出所需軟件系統(tǒng); 其中,所述配置文件是根據(jù)配置文件模板,以及用戶在配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值所生成的;所述配置文件模板是根據(jù)用戶依據(jù)所需軟件系統(tǒng)的功能需求選擇的控件的開發(fā)規(guī)范自動(dòng)生成的。
6.如權(quán)利要求5所述的方法,其特征在于,所述配置文件模板具體根據(jù)如下方法生成: 加載預(yù)先開發(fā)的各控件;其中,所述控件是根據(jù)該控件的開發(fā)規(guī)范開發(fā)出來的; 利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱; 針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,并將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯示; 將用戶根據(jù)所需軟件系統(tǒng)的功能需求,在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件后,針對(duì)每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板。
7.如權(quán)利要求6所述的方法,其特征在于,在所述組成配置文件模板之前,還包括: 從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù)下的默認(rèn)屬性值;以及 所述組成配置文件模板具體包括: 根據(jù)各待組裝控件的控件名稱,以及獲取的各屬性參數(shù)、屬性參數(shù)下的默認(rèn)屬性值組成所述配置文件模板。
8.一種控件動(dòng)態(tài)組裝系統(tǒng),其特征在于,包括: 控件加載模塊,用于加載預(yù)先開發(fā)的各控件;其中,所述控件是根據(jù)該控件的開發(fā)規(guī)范開發(fā)出來的; 配置文件獲取模塊,用于獲取預(yù)先保存的配置文件; 控件調(diào)用模塊,用于根據(jù)所述配置文件獲取模塊獲取的配置文件中的各待組裝控件的控件名稱分別調(diào)用相應(yīng)控件,并在控件調(diào)用過程中,向調(diào)用的控件傳遞所述配置文件中該控件的各屬性參數(shù)下的屬性值,以動(dòng)態(tài)組裝出所需軟件系統(tǒng)。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,還包括: 配置文件生成模塊,用于加載預(yù)先開發(fā)的各控件;利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱;針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,并將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯示;將用戶根據(jù)所需軟件系統(tǒng)的功能需求,在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件后,針對(duì)每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板;在接收到用戶在所述配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值后,生成配置文件。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述配置文件生成模塊具體包括: 控件加載單元,用于加載預(yù)先開發(fā)的各控件; 控件選擇單元,利用反射技術(shù)動(dòng)態(tài)獲取加載的每個(gè)控件的控件名稱;針對(duì)獲取的每個(gè)控件名稱,獲取相應(yīng)控件的開發(fā)規(guī)范,并將從該開發(fā)規(guī)范中提取出的功能描述信息對(duì)應(yīng)該控件名稱在控件選擇對(duì)話框中進(jìn)行顯示;將用戶根據(jù)所需軟件系統(tǒng)的功能需求,在所述控件選擇對(duì)話框中勾選的控件名稱所對(duì)應(yīng)的控件作為待組裝控件; 配置文件模板生成單元,用于針對(duì)所述控件選擇單元確定的每個(gè)待組裝控件,從該待組裝控件的開發(fā)規(guī)范中提取該待組裝控件的各屬性參數(shù),組成配置文件模板; 配置文件保存單元,用于在接收到用戶在所述配置文件模板中對(duì)于每個(gè)待組裝控件,針對(duì)該待組裝控件的每個(gè)屬性參數(shù)輸入的屬性值后,生成配置文件并保存。
【文檔編號(hào)】G06F9/44GK104049974SQ201410293129
【公開日】2014年9月17日 申請(qǐng)日期:2014年6月25日 優(yōu)先權(quán)日:2014年6月25日
【發(fā)明者】王晶華, 陳晰, 吳觀斌, 許乃媛 申請(qǐng)人:國家電網(wǎng)公司, 國家電網(wǎng)公司信息通信分公司, 國網(wǎng)山東省電力公司濟(jì)南供電公司