Xdoclet2(二):與Xdoclet1.X比較

Xdoclet2無論在配置、開發、及性能都比Xdoclet1.X有大大的提升。
關於兩代Xdoclet的內部結構可以用Xdoclet2官方網站的兩幅圖片來容易看出:
Xdoclet1.x:

這一代,以Xdoclet1.x引擎爲核心,由XjavaDoc提供源數據,使用XDT模板來實現文件的生成。而使用方式只有AntTask一種。
Xdoclet2:

這一代,Xdoclet2的核心只有很少的一點點代碼,它使用現有的框架來獲得源數據,再結合現流行的模板框架來實現文件的生成。核心向外界提供接口,用戶可以根據自已的需要去實現模板引擎或者源數據的提供。
在源數據提供方面,使用了QDox,模板方面都是使用Apache的成熟框架,Jelly及Velocity,使用模板框架的好處是不需要開發者再去學習一種模板語言。最後,Xdoclet2的使用方法有多種,而不侷限於AntTask。

開發者將會看到更多的不一樣。在Xdoclet2中,開發一個自定義的標籤是相對容易很多,開發者可以把大部分的工夫放在制訂標籤的標準上,然後使用接口表現出來。嘿。注意這裏說的接口。Xdoclet2讓我們以接口的方式來定義一個標籤。而具體的實現,讓她的一個內置任務幫你搞定。最後你只需要輕輕鬆鬆寫個Plugin及模板就完成了。

剛纔講到了用“接口”來表現一個標籤,包括其屬性等相關信息,在Xdoclet1.X看來,是不可能的。而在2代時,開發者在寫自定義標籤的是候是使用一種已定義的Tag:qtags。使用Qtags來告訴Xdoclet2,接口的方法名裏所說的屬性(方法名通常是Get或Is方法)是否必需、取值範圍等等。Qtags會把你的意圖實現。將會爲你生成接口的實現類。而在1.X的時候,我們通常要自已定義而且實現。2代的一個閃光點就是使用Qtags大大簡化了Tag標準的制訂。

下次,我將用個簡單的例子來示範如何編寫一個自定義Tag並投入到使用中的。

Xdoclet2的官方網站



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章