更新時(shí)間:2021-11-15 11:10:09 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽808次
在Java開(kāi)發(fā)工具中Java代碼自動(dòng)生成工具是很常見(jiàn)的,代碼生成是模型驅(qū)動(dòng)開(kāi)發(fā)中最簡(jiǎn)單和最常用的技術(shù)。我們使用一個(gè)信息源,一種模型形式,并將其與一些模板結(jié)合起來(lái)以獲得生成的工件,例如代碼。
代碼生成是進(jìn)入更高級(jí)技術(shù)的有用的入門(mén)級(jí)步驟。因此,認(rèn)為創(chuàng)建簡(jiǎn)單的代碼生成平臺(tái)以降低新用戶的進(jìn)入門(mén)檻非常重要。
作為一個(gè)社區(qū),我們希望讓盡可能多的開(kāi)發(fā)人員從編寫(xiě)重復(fù)代碼轉(zhuǎn)向?qū)ふ腋悄艿慕鉀Q方案。如果我們使代碼生成器易于訪問(wèn)且有效,我們將“拯救”許多開(kāi)發(fā)人員并將他們帶到模型驅(qū)動(dòng)開(kāi)發(fā)和語(yǔ)言工程方面。
因此,像 Telosys 這樣可用且全面的代碼生成器對(duì)語(yǔ)言工程社區(qū)非常有價(jià)值。
代碼生成對(duì)于為開(kāi)發(fā)人員提供通用框架非常有用。如果每個(gè)人都通過(guò)代碼生成開(kāi)始開(kāi)發(fā),您可以確保所有團(tuán)隊(duì)的基礎(chǔ)是同質(zhì)的,并且代碼具有令人滿意的質(zhì)量(尊重標(biāo)準(zhǔn)、注釋、單元測(cè)試等)。
當(dāng)然,另一個(gè)重點(diǎn)是生產(chǎn)力。您可以在組件創(chuàng)建的初始步驟中顯著減少工作量。您管理的實(shí)體越多,您可以在創(chuàng)建模板上投入的時(shí)間就越多。
代碼生成還可用于快速生成應(yīng)用程序的動(dòng)態(tài)模型。然后可以在迭代開(kāi)發(fā)周期中重用代碼。
基于現(xiàn)有數(shù)據(jù)庫(kù)的“腳手架”方法也非常有效。我已經(jīng)多次使用它,用于新項(xiàng)目或從一種語(yǔ)言遷移到另一種語(yǔ)言。
首先,Telosys 是由開(kāi)發(fā)人員為開(kāi)發(fā)人員創(chuàng)建的。它只是旨在務(wù)實(shí)和高效。
概念和發(fā)展遵循一些基本原則:
它必須簡(jiǎn)單、易于使用并保持輕便
它必須是 100% 開(kāi)源的
它必須能夠?yàn)槿魏晤愋偷恼Z(yǔ)言或框架生成代碼
生成的代碼必須對(duì)工具零依賴(可以隨時(shí)停止使用工具而不影響項(xiàng)目)
開(kāi)發(fā)人員必須能夠使用任何文本編輯器輕松調(diào)整模板
開(kāi)發(fā)人員必須能夠使用“輕量級(jí)模型”(不需要 UML 模型)定義項(xiàng)目實(shí)體
因此,Telosys 可以被視為一種戰(zhàn)術(shù)工具。這不是一個(gè)對(duì)項(xiàng)目組織有重大影響的戰(zhàn)略選擇。
您可以隨時(shí)安裝、使用和刪除它。當(dāng)然,您也可以從項(xiàng)目開(kāi)始到結(jié)束使用它,并利用模型和模板,這取決于您。
作為每個(gè)代碼生成器,Telosys 將模板與存儲(chǔ)在內(nèi)存中的數(shù)據(jù)合并。
這些數(shù)據(jù)主要是項(xiàng)目管理的實(shí)體。所有實(shí)體都在“輕量級(jí)模型”中定義,該模型可以是“數(shù)據(jù)庫(kù)模型”或“DSL 模型”。
Telosys 模型在網(wǎng)站上的這個(gè)頁(yè)面上進(jìn)行了解釋。
Telosys 使用關(guān)系數(shù)據(jù)庫(kù)作為源自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)模型。在這種情況下,數(shù)據(jù)庫(kù)模式被用作原始模型,每個(gè)表被視為一個(gè)實(shí)體,關(guān)系由外鍵定義。
這種模型存儲(chǔ)在單個(gè) XML 文件中。如果需要進(jìn)行一些更改以適應(yīng)模型,則可以由用戶自定義。
如果您想從頭開(kāi)始創(chuàng)建模型,您可以使用 DSL 模型。在這種情況下,每個(gè)實(shí)體都在一個(gè)文本文件中定義。
因此,總而言之,Telosys 使用帶有專門(mén)編輯器的 XML 和文本文件來(lái)促進(jìn)模型編輯。
加載到內(nèi)存中的模型是“通用模型”,是具體模型的抽象。因此,將來(lái)可以使用可以與此“通用模型”匹配的任何類型的源。
大家在進(jìn)行Java學(xué)習(xí)的時(shí)候還會(huì)遇到更多的開(kāi)發(fā)工具,這在以后的工作中都會(huì)用到,大家可要好好了解一下哦。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)