一種代碼生成方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種代碼生成方法及系統(tǒng),代碼生成方法包括:獲取對(duì)象的名稱和信息;獲取所要生成代碼的分類信息,并調(diào)用相應(yīng)的生成代碼處理單元;將獲取的對(duì)象數(shù)據(jù)結(jié)構(gòu)傳入所述生成代碼處理單元中自動(dòng)生成代碼;將生成的代碼導(dǎo)出并保存到相應(yīng)位置。本發(fā)明只對(duì)表現(xiàn)層的部分和數(shù)據(jù)層進(jìn)行代碼的自動(dòng)生成,而不生成業(yè)務(wù)邏輯相關(guān)的代碼,這樣不僅僅把軟件開(kāi)發(fā)人員在基礎(chǔ)代碼編寫(xiě)的工作中解放出來(lái),提高了代碼生成工具的適用度和編程效率。
【專利說(shuō)明】一種代碼生成方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,具體地說(shuō)一種代碼生成方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前任何一個(gè)商業(yè)軟件項(xiàng)目,不論是Web項(xiàng)目還是非Web項(xiàng)目,都是一個(gè)代碼量在幾十萬(wàn)行甚至更多的大型項(xiàng)目。在軟件工程學(xué)科的指導(dǎo)下,幾乎所有負(fù)責(zé)人都對(duì)軟件做了最合理的架構(gòu)設(shè)計(jì),即把應(yīng)用中的表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)層進(jìn)行了分來(lái)設(shè)計(jì)。方便了以為后項(xiàng)目的維護(hù)和擴(kuò)展。在這種軟件開(kāi)發(fā)的模式下,任何一個(gè)項(xiàng)目都不再是一個(gè)人的項(xiàng)目,都需要一個(gè)團(tuán)隊(duì)去維護(hù)和開(kāi)發(fā)。
[0003]在這種背景下,為了提高代碼的開(kāi)發(fā)效率和降低編碼的錯(cuò)誤率,市場(chǎng)上代碼復(fù)用和代碼自動(dòng)生成的工具層出不窮。但是很多的代碼生成工具都是根據(jù)自己的業(yè)務(wù)邏輯來(lái)配置相應(yīng)的模版或者配置文件去生成相應(yīng)的代碼。導(dǎo)致現(xiàn)有的很多代碼生成工具和方法不能很好的解決通用問(wèn)題。
[0004]由于現(xiàn)有的代碼生成工具,在生成代碼時(shí)都存在代碼生成規(guī)則較為固定,無(wú)法滿足用戶對(duì)代碼生成規(guī)則進(jìn)行靈活配置的需求。
【發(fā)明內(nèi)容】
[0005]針對(duì)上述不足,本發(fā)明提供了一種代碼生成方法及系統(tǒng),解決上述現(xiàn)有技術(shù)的代碼生成工具在生成代碼時(shí)不夠靈活的問(wèn)題。
[0006]本發(fā)明解決其技術(shù)問(wèn)題采取的技術(shù)方案是:提供一種代碼生成方法,用于對(duì)通用的表現(xiàn)層和數(shù)據(jù)層進(jìn)行代碼的生成,其特征是,包括以下步驟:
Si,獲取對(duì)象的名稱和信息;
S2,獲取所要生成代碼的分類信息,并調(diào)用相應(yīng)的生成代碼處理單元;
S3,將獲取的對(duì)象數(shù)據(jù)結(jié)構(gòu)傳入所述生成代碼處理單元中自動(dòng)生成代碼;
S4,將生成的代碼導(dǎo)出并保存到相應(yīng)位置。
[0007]優(yōu)選地,上述方法中,所述對(duì)象包括表或視圖。
[0008]優(yōu)選地,上述方法中,所述生成代碼的分類信息包括語(yǔ)言類型和命名空間,所述語(yǔ)言類型包括VB代碼和C#代碼,所述命名空間在輸入命名空間后將生成的代碼直接導(dǎo)入待開(kāi)發(fā)程序中。
[0009]優(yōu)選地,上述方法中,所述生成代碼處理單元包括表現(xiàn)層處理單元、數(shù)據(jù)層處理單元和文檔處理單元;所述表現(xiàn)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成表現(xiàn)層js校驗(yàn)代碼,所述數(shù)據(jù)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成統(tǒng)一的數(shù)據(jù)模型和數(shù)據(jù)操作類,所述文檔處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成對(duì)象結(jié)構(gòu)信息,并將對(duì)象結(jié)構(gòu)信息導(dǎo)入到Word文檔中。
[0010]本發(fā)明還提供一種代碼生成系統(tǒng),其特征是,包括:
第一獲取模塊,用于獲取對(duì)象的名稱和信息; 第二獲取模塊,用于獲取所要生成代碼的分類信息;
生成代碼處理單元,用于根據(jù)對(duì)象數(shù)據(jù)結(jié)構(gòu)自動(dòng)生成代碼;
導(dǎo)出模塊,用于將生成的代碼導(dǎo)出并保存到相應(yīng)位置。
[0011 ] 優(yōu)選地,在該代碼生成系統(tǒng)中,所述對(duì)象包括表或視圖。
[0012]優(yōu)選地,在該代碼生成系統(tǒng)中,所述生成代碼的分類信息包括語(yǔ)言類型和命名空間,所述語(yǔ)言類型包括VB代碼和C#代碼,所述命名空間在輸入命名空間后將生成的代碼直接導(dǎo)入待開(kāi)發(fā)程序中。
[0013]優(yōu)選地,在該代碼生成系統(tǒng)中,所述生成代碼處理單元包括表現(xiàn)層處理單元、數(shù)據(jù)層處理單元和文檔處理單元;所述表現(xiàn)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成表現(xiàn)層js校驗(yàn)代碼,所述數(shù)據(jù)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成統(tǒng)一的數(shù)據(jù)模型和數(shù)據(jù)操作類,所述文檔處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成對(duì)象結(jié)構(gòu)信息,并將對(duì)象結(jié)構(gòu)信息導(dǎo)入到Word文檔中。
[0014]本發(fā)明的有益效果是:本發(fā)明提供了一種只針對(duì)通用的表現(xiàn)層和數(shù)據(jù)層進(jìn)行代碼的生成而不涉及用戶邏輯信息的通用代碼生成工具,提高了代碼生成工具的適用度和編程效率。它具有以下特點(diǎn):
1、本發(fā)明不對(duì)系統(tǒng)中業(yè)務(wù)邏輯進(jìn)行代碼生成,大大提高了代碼的跨業(yè)務(wù)系統(tǒng)的可用性。
[0015]2、本發(fā)明只專注基礎(chǔ)代碼的生成,使軟件編碼人員在基礎(chǔ)編碼中解放出來(lái),只專注于業(yè)務(wù)邏輯,大大提高開(kāi)發(fā)效率。
[0016]3、本發(fā)明生成的表現(xiàn)層代碼不對(duì)表現(xiàn)層進(jìn)行排版,只是生成前臺(tái)js對(duì)數(shù)據(jù)的有效性進(jìn)行校驗(yàn),因此省去了因?yàn)榕虐娌环弦蠖a(chǎn)生的工作量。
[0017]4、本發(fā)明生成的數(shù)據(jù)層是通過(guò)繼承接口實(shí)現(xiàn),便于以后的直接擴(kuò)展。
[0018]5、本發(fā)明的前臺(tái)校驗(yàn)js和后臺(tái)數(shù)據(jù)層是基于同一個(gè)對(duì)象生成的,對(duì)于后期對(duì)象結(jié)構(gòu)發(fā)生變化的情況,可以直接生成替換,大大降低了維護(hù)的工作量。
【專利附圖】
【附圖說(shuō)明】
[0019]圖1是本發(fā)明的一種代碼生成方法的步驟流程圖;
圖2是本發(fā)明的一種代碼生成系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0020]如圖1所示,本發(fā)明的一種代碼生成方法,用于對(duì)通用的表現(xiàn)層和數(shù)據(jù)層進(jìn)行代碼的生成,它包括以下步驟:
SI,獲取表或視圖等對(duì)象的名稱和信息。
[0021]S2,獲取所要生成代碼的分類信息,并調(diào)用相應(yīng)的生成代碼處理單元。所述生成代碼的分類信息包括語(yǔ)言類型和命名空間,所述語(yǔ)言類型包括VB代碼和C#代碼,所述命名空間在輸入命名空間后將生成的代碼直接導(dǎo)入待開(kāi)發(fā)程序中。
[0022]S3,將獲取的對(duì)象數(shù)據(jù)結(jié)構(gòu)傳入所述生成代碼處理單元中自動(dòng)生成代碼。所述生成代碼處理單元包括表現(xiàn)層處理單元、數(shù)據(jù)層處理單元和文檔處理單元;所述表現(xiàn)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成表現(xiàn)層js校驗(yàn)代碼,所述數(shù)據(jù)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成統(tǒng)一的數(shù)據(jù)模型和數(shù)據(jù)操作類,所述文檔處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成對(duì)象結(jié)構(gòu)信息,并將對(duì)象結(jié)構(gòu)信息導(dǎo)入到Word文檔中。
[0023]S4,將生成的代碼導(dǎo)出并根據(jù)要求保存到相應(yīng)位置。
[0024]如圖2所示,本發(fā)明的一種代碼生成系統(tǒng),它包括:第一獲取模塊,用于獲取對(duì)象的名稱和信息;第二獲取模塊,用于獲取所要生成代碼的分類信息;生成代碼處理單元,用于根據(jù)對(duì)象數(shù)據(jù)結(jié)構(gòu)自動(dòng)生成代碼;導(dǎo)出模塊,用于將生成的代碼導(dǎo)出并保存到相應(yīng)位置。
[0025]優(yōu)選地,所述對(duì)象包括表或視圖。
[0026]優(yōu)選地,所述生成代碼的分類信息包括語(yǔ)言類型和命名空間,所述語(yǔ)言類型包括VB代碼和C#代碼,所述命名空間在輸入命名空間后將生成的代碼直接導(dǎo)入待開(kāi)發(fā)程序中。
[0027]優(yōu)選地,所述生成代碼處理單元包括表現(xiàn)層處理單元、數(shù)據(jù)層處理單元和文檔處理單元;所述表現(xiàn)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成表現(xiàn)層js校驗(yàn)代碼,所述數(shù)據(jù)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成統(tǒng)一的數(shù)據(jù)模型和數(shù)據(jù)操作類,所述文檔處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成對(duì)象結(jié)構(gòu)信息,并將對(duì)象結(jié)構(gòu)信息導(dǎo)入到Word文檔中。
[0028]本發(fā)明只對(duì)表現(xiàn)層的部分和數(shù)據(jù)層進(jìn)行代碼的自動(dòng)生成,而不生成業(yè)務(wù)邏輯相關(guān)的代碼,這樣不僅僅把軟件開(kāi)發(fā)人員在基礎(chǔ)代碼編寫(xiě)的工作中解放出來(lái),讓他們只關(guān)心業(yè)務(wù)邏輯,更是提高了生成代碼的跨不同業(yè)務(wù)系統(tǒng)的使用率,大大提高了代碼生成的效率。
[0029]以上所述只是本發(fā)明的優(yōu)選實(shí)施方式,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也被視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種代碼生成方法,用于對(duì)通用的表現(xiàn)層和數(shù)據(jù)層進(jìn)行代碼的生成,其特征是,包括以下步驟: Si,獲取對(duì)象的名稱和信息; S2,獲取所要生成代碼的分類信息,并調(diào)用相應(yīng)的生成代碼處理單元; S3,將獲取的對(duì)象數(shù)據(jù)結(jié)構(gòu)傳入所述生成代碼處理單元中自動(dòng)生成代碼; S4,將生成的代碼導(dǎo)出并保存到相應(yīng)位置。
2.根據(jù)權(quán)利要求1所述的一種代碼生成方法,其特征是,所述對(duì)象包括表或視圖。
3.根據(jù)權(quán)利要求1所述的一種代碼生成方法,其特征是,所述生成代碼的分類信息包括語(yǔ)言類型和命名空間,所述語(yǔ)言類型包括VB代碼和C#代碼,所述命名空間在輸入命名空間后將生成的代碼直接導(dǎo)入待開(kāi)發(fā)程序中。
4.根據(jù)權(quán)利要求1所述的一種代碼生成方法,其特征是,所述生成代碼處理單元包括表現(xiàn)層處理單元、數(shù)據(jù)層處理單元和文檔處理單元;所述表現(xiàn)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成表現(xiàn)層js校驗(yàn)代碼,所述數(shù)據(jù)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成統(tǒng)一的數(shù)據(jù)模型和數(shù)據(jù)操作類,所述文檔處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成對(duì)象結(jié)構(gòu)信息,并將對(duì)象結(jié)構(gòu)信息導(dǎo)入到Word文檔中。
5.一種代碼生成系統(tǒng),其特征是,包括: 第一獲取模塊,用于獲取對(duì)象的名稱和信息; 第二獲取模塊,用于獲取所要生成代碼的分類信息; 生成代碼處理單元,用于根據(jù)對(duì)象數(shù)據(jù)結(jié)構(gòu)自動(dòng)生成代碼; 導(dǎo)出模塊,用于將生成的代碼導(dǎo)出并保存到相應(yīng)位置。
6.根據(jù)權(quán)利要求5所述的一種代碼生成系統(tǒng),其特征是,所述對(duì)象包括表或視圖。
7.根據(jù)權(quán)利要求5所述的一種代碼生成系統(tǒng),其特征是,所述生成代碼的分類信息包括語(yǔ)言類型和命名空間,所述語(yǔ)言類型包括VB代碼和C#代碼,所述命名空間在輸入命名空間后將生成的代碼直接導(dǎo)入待開(kāi)發(fā)程序中。
8.根據(jù)權(quán)利要求5所述的一種代碼生成系統(tǒng),其特征是,所述生成代碼處理單元包括表現(xiàn)層處理單元、數(shù)據(jù)層處理單元和文檔處理單元;所述表現(xiàn)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成表現(xiàn)層js校驗(yàn)代碼,所述數(shù)據(jù)層處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成統(tǒng)一的數(shù)據(jù)模型和數(shù)據(jù)操作類,所述文檔處理單元根據(jù)傳入的對(duì)象數(shù)據(jù)結(jié)構(gòu)生成對(duì)象結(jié)構(gòu)信息,并將對(duì)象結(jié)構(gòu)信息導(dǎo)入到Word文檔中。
【文檔編號(hào)】G06F9/44GK103530123SQ201310492734
【公開(kāi)日】2014年1月22日 申請(qǐng)日期:2013年10月21日 優(yōu)先權(quán)日:2013年10月21日
【發(fā)明者】王輝, 朱濤, 趙西法, 張虎, 劉金貴 申請(qǐng)人:濟(jì)南政和科技有限公司