CodeGen概述
CodeGen是在協同開發環境中工作的軟件開發人員可以用來生成源代碼的工具。該代碼可能是Synergy DBL代碼,也可能是其他語言的源代碼。CodeGen並不局限於為任何特定的開發環境或編程語言生成代碼。
當然,你不能僅僅使用CodeGen生成任何你能想象得到的源代碼。在生成代碼之前,開發人員必須聲明定義如何創建給定源代碼的規則。這些規則在模板文件中定義。CodeGen解釋開發人員在模板文件中定義的代碼和指令,以便生成有用的輸出。
不過,在模板文件中定義規則只是故事的一部分。為了真正有用,CodeGen還需要另一個信息源來定義要生成的內容的上下文。
大多數軟件應用程序都圍繞着數據的收集、表示、操作和存儲。這些數據最終存儲在某種類型的持久存儲中,例如數據文件集合或關系數據庫中的表中。當開發人員處理一段特定的源代碼時,他們將他們所掌握的關於應用程序數據(元數據)的知識與規則或“業務邏輯”相結合,以便創建滿足特定需求的源代碼。CodeGen也這么做。
當開發人員在Synergy/DE中工作時,他們可以訪問稱為Synergy/DE存儲庫的優秀元數據源。存儲庫包含有關應用程序使用的數據結構以及這些數據結構的屬性的大量信息。存儲庫還可以包含有關各種數據結構之間的關系的信息,甚至包含有關底層數據存儲機制的信息。Synergy存儲庫是非常豐富的元數據源,也是CodeGen使用的元數據的主要來源。
對於使用Synergy/deuSynergy/DE UI Toolkiti工具箱來展示其應用程序用戶界面的開發人員來說,可能還有另一個元數據源,稱為窗口腳本文件。在某些情況下,CodeGen還可以使用這些文件中包含的元數據。
都是關於元數據的!gen在一個文件中結合了一些定義好的文本結構的信息。
基本原則
每次開發人員使用CodeGen生成代碼時,他們通常提供兩個主要信息:
1. 元數據的來源,通常是存儲庫結構的名稱。
2. 定義要創建的內容的規則的模板文件的名稱。
每次CodeGen生成一個輸出文件時,它通常做三件事:
1. 從元數據源(通常是存儲庫結構)讀取信息。
2. 從模板讀取規則。
3. 將規則與元數據合並以創建輸出文件。