http://www.chenjiliang.com/Article/View.aspx?ArticleID=18928
自從接觸MVC三層模型的程式後,一直覺得寫Modal是體力勞動,所以就開始“偷懶”,當時就寫了一個簡陋的【實體類產生器】,後來稍微改進了一下,將
產生的實體類的模板提取了出來,而不是固定到代碼裡,這樣就可以實現對產生的實體類的內容進行靈活的處理,用一些簡單的標記表名擷取的是列名、還是表名,
以及迴圈段,但缺點還是不夠靈活。我也簡單瞭解過CodeSmith,個人感覺還是有點麻煩,但不能否認CodeSmith的強大功能。借這次項目的機
會,又重新整理了思路,用了一個星期的時間完成了一個小工具——【CodeMaker代碼產生工具】。
CodeMaker代碼產生工具的特點:
?使用標籤編輯模板檔案
?外掛程式機制
?產生多張表
:
(CodeMaker主介面)
標籤:
例如:
複製 儲存
<c:foreach item="column"> public const string <c:value name="ColumnName" rule="upper" /> = "<c:value name="ColumnName" />"; </c:foreach>
以上這段模板產生的就是資料庫中每個列的列名,例如:
複製 儲存
public const string USERNAME = “UserName”;
<c:foreach>和<c:value>即為CodeMaker中定義的標籤,分別用於【迴圈】和【取值】,如果做
過Java開發的朋友可能會很熟悉<c:foreach>標籤,,沒錯,就是JSTL中的<c:foreach>,這裡只不過為
了和代碼中注釋的標籤(例如:<summary>)區分,所以加了個首碼,,在<c:value>中,會有一些屬性對值進行操
作,比如rule=”upper”,表示將該值全部改為大寫等
外掛程式機制:
該工具所需的【資料庫支援】、【模板支援】、【標籤支援】、【輸出檔案類型的支援】等都是採用外掛程式的形式,使用者可以定義自己的標籤和模板解析方
式,,只需將相關的類在設定檔中進行註冊,即可在項目中使用。因為是初次接觸外掛程式這種形式,所以很多地方還不是很好,希望大家可以提一些意見或建議
目前已測試可以使用的模板有:
Hibernate(Java)和 NHibernate(.Net C#)的實體類和對應檔的產生
我會儘快完善一下該工具,然後發布,請有需要的朋友下載使用,,謝謝大家的支援。
CodeMaker_v0.1.2下載
http://files.cnblogs.com/wangzeran/CodeMaker_v0.1.2.zip
CodeMaker 原始碼下載
http://files.cnblogs.com/wangzeran/CodeMaker_Src.zip