本發明涉及計算機軟件開發,具體涉及一種支持二次開發和反復生成的低代碼管理方法、裝置和設備。
背景技術:
1、低代碼或無代碼開發平臺通過可視化拖拽和配置方式,顯著提升了軟件應用的開發效率,使開發者能夠快速構建應用程序。然而,這類平臺在應對復雜、個性化的業務需求時存在明顯局限性,難以完全滿足企業多樣化的定制需求。
2、為彌補上述不足,部分低代碼平臺提供了源碼導出功能,允許開發人員在平臺生成的代碼基礎上進行二次開發。這種模式雖然擴展了平臺的適用范圍,但引入了一個核心痛點:代碼一旦導出并經過二次開發,便脫離了原平臺的可視化開發體系。當后續業務需求發生變更時,開發人員無法返回平臺進行可視化修改并重新生成代碼,因為新生成的代碼會直接覆蓋已完成的二次開發成果。此時,開發人員不得不手動對比、合并新舊代碼,該過程不僅工作量巨大、效率低下,而且極易引入錯誤,嚴重制約了開發迭代效率和軟件質量。
3、現有技術中存在若干針對上述問題的解決方案。一類方案通過在原始代碼中預置鉤子方法,運行時從指定目錄獲取配置文件并解析為擴展代碼注入源代碼,實現功能擴展。該方案雖能避免直接修改原代碼,但本質上屬于運行時動態嵌入機制,未從根本上解決代碼反復生成時二開成果被覆蓋的問題。另一類方案通過將代碼模板劃分為生成層和擴展層,利用類的繼承關系實現分離,生成層設為只讀并可反復覆蓋,擴展層通過繼承實現二次開發。該方案在一定程度上解決了反復生成的問題,但主要聚焦于后端基于繼承的模式,對于現代前后端分離架構下的前端實現方式缺乏有效方案,且擴展層在重新生成后仍需借助版本管理工具進行合并,存在合并沖突風險。
4、中國專利文獻cn117873466a公開了一種用于二次開發的代碼管理方法,公開了一種通過鉤子方法獲取二次開發配置文件并將擴展代碼嵌入原始代碼的技術方案,起到了無需導出源代碼即可實現功能擴展的技術效果,但仍然存在無法支持代碼反復生成、二開代碼與源代碼深度耦合的問題。
5、中國專利文獻cn119311256a公開了一種支持多次生成的代碼生成方法,公開了一種將代碼模板分為生成層和擴展層并通過繼承機制實現分離的技術方案,起到了簡化代碼合并工作量的技術效果,但仍然存在僅適用于后端場景、缺乏前端解決方案、擴展層仍需版本工具合并的問題。
技術實現思路
1、本發明的目的在于提供一種支持二次開發和反復生成的低代碼管理方法、裝置和設備,解決了低代碼平臺生成代碼在二次開發后難以反復生成的問題;適應前后端分離架構的不同特點;顯著降低了開發和維護成本。
2、為實現上述目的,本發明通過以下技術方案實現:
3、一種支持二次開發和反復生成的低代碼管理方法,包括以下步驟:
4、s1:在代碼生成時,將生成的代碼劃分為不可二次開發部分和可二次開發部分,所述不可二次開發部分存放于預設的不可變目錄中,所述可二次開發部分存放于所述不可變目錄之外;
5、s2:建立所述不可二次開發部分與所述可二次開發部分之間的關聯關系,使兩部分代碼協同工作以實現業務邏輯;
6、s3:當觸發代碼重新生成操作時,完全覆蓋所述不可變目錄內的代碼,對于所述不可變目錄之外的可二次開發部分,若文件已存在則保持不變,若文件不存在則創建。
7、進一步地:所述關聯關系包括針對前端代碼的關聯關系,具體建立過程為:
8、生成位于所述不可變目錄之外的外層頁面組件,所述外層頁面組件引用并渲染位于所述不可變目錄內的內部組件;
9、所述內部組件由低代碼平臺根據可視化設計生成,定義頁面布局和ui元素結構。
10、進一步地:所述內部組件包含子組件,所述子組件將業務邏輯的實現委托給位于所述不可變目錄之外的邏輯單元,開發者在所述邏輯單元中編寫業務邏輯代碼。
11、進一步地:所述子組件通過混入機制引入所述邏輯單元,所述邏輯單元為獨立的邏輯文件,所述邏輯單元包含數據定義和方法定義。
12、進一步地:所述關聯關系包括針對后端代碼的關聯關系,具體建立過程為:
13、在所述不可變目錄內生成基類,所述基類包含標準業務邏輯實現;
14、在所述不可變目錄之外生成繼承所述基類的子類,所述子類文件在首次生成后不再被覆蓋;
15、開發者在所述子類中通過方法覆寫或新增方法實現二次開發。
16、進一步地:所述基類包括實體基類、服務基類、數據映射基類和控制器基類中的至少一種,各基類分別對應生成相應的子類。
17、進一步地:將預編譯的通用代碼文件通過類加載器在運行時動態加載,實現代碼生成后的熱加載。
18、一種支持二次開發和反復生成的低代碼管理裝置,包括:
19、代碼分離模塊,用于將生成的代碼劃分為不可二次開發部分和可二次開發部分,所述不可二次開發部分存放于預設的不可變目錄中,所述可二次開發部分存放于所述不可變目錄之外;
20、關聯建立模塊,用于建立所述不可二次開發部分與所述可二次開發部分之間的關聯關系;
21、生成控制模塊,用于在觸發代碼重新生成操作時,完全覆蓋所述不可變目錄內的代碼,對于所述不可變目錄之外的可二次開發部分,若文件已存在則保持不變,若文件不存在則創建。
22、進一步地:所述關聯建立模塊包括:
23、前端關聯單元,用于生成位于所述不可變目錄之外的外層頁面組件以引用不可變目錄內的內部組件,并使內部組件中的子組件將業務邏輯委托給不可變目錄之外的邏輯單元;
24、后端關聯單元,用于在所述不可變目錄內生成包含標準業務邏輯的基類,并在所述不可變目錄之外生成繼承所述基類的子類。
25、一種電子設備,其特征在于,包括存儲器、處理器以及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現如上所述的方法。
26、相對現有技術,本發明具有以下有益效果:
27、一、本發明通過將生成代碼物理分離為不可變目錄內的不可二次開發部分和目錄外的可二次開發部分,并采用完全覆蓋不可變目錄、跳過已存在文件的生成策略,徹底解決了二次開發代碼被覆蓋的問題,使開發者能夠在可視化設計與手動編碼之間實現自由切換和反復迭代。
28、二、本發明針對前端采用組件嵌套與邏輯委托機制,針對后端采用基類繼承機制,分別適應了前端ui密集型和后端邏輯密集型的不同特點,使代碼結構清晰,符合前后端分離架構下各自領域的開發習慣。
29、三、本發明開發者僅需關注可二次開發部分的業務邏輯,無需理解平臺生成的底層代碼;當平臺升級或數據模型變更時,直接重新生成即可,無需進行繁瑣的代碼對比和合并工作,顯著降低了開發和維護成本。
1.一種支持二次開發和反復生成的低代碼管理方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的一種支持二次開發和反復生成的低代碼管理方法,其特征在于:所述關聯關系包括針對前端代碼的關聯關系,具體建立過程為:
3.根據權利要求2所述的一種支持二次開發和反復生成的低代碼管理方法,其特征在于:所述內部組件包含子組件,所述子組件將業務邏輯的實現委托給位于所述不可變目錄之外的邏輯單元,開發者在所述邏輯單元中編寫業務邏輯代碼。
4.根據權利要求3所述的一種支持二次開發和反復生成的低代碼管理方法,其特征在于:所述子組件通過混入機制引入所述邏輯單元,所述邏輯單元為獨立的邏輯文件,所述邏輯單元包含數據定義和方法定義。
5.根據權利要求1所述的一種支持二次開發和反復生成的低代碼管理方法,其特征在于:所述關聯關系包括針對后端代碼的關聯關系,具體建立過程為:
6.根據權利要求5所述的一種支持二次開發和反復生成的低代碼管理方法,其特征在于:所述基類包括實體基類、服務基類、數據映射基類和控制器基類中的至少一種,各基類分別對應生成相應的子類。
7.根據權利要求1-6任一項所述的一種支持二次開發和反復生成的低代碼管理方法,其特征在于,還包括:
8.一種支持二次開發和反復生成的低代碼管理裝置,其特征在于,包括:
9.根據權利要求8所述的一種支持二次開發和反復生成的低代碼管理裝置,其特征在于:所述關聯建立模塊包括:
10.一種電子設備,其特征在于,包括存儲器、處理器以及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現如權利要求1-7任一項所述的方法。