小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Xdoclet學(xué)習(xí)筆記(XDoclet 如何工作) - XZC.Log - BlogJava

 hailin_cqx 2007-08-16

XDoclet 操作
圖 1 顯示了 XDoclet 要求的輸入和生成的輸出。

圖 1. XDoclet 黑盒子
圖 1

您 可以看到,包含嵌入式 XDoclet 標(biāo)簽的 Java 源代碼是系統(tǒng)的輸入。在 Apache Ant 的驅(qū)動(dòng)下,XDoclet 處理輸入的代碼,生成的輸出文本文件可以是 Java 源代碼、HTML 頁(yè)面、XML 文件等。為了處理輸入,XDoclet 需要使用模板(保存在 .xdt 文件中)和標(biāo)簽處理器(用 Java 編碼)。XDoclet 把模板和標(biāo)簽處理器打包成“模塊”,不同的“模塊”處理不同的問題域。

XDoclet 生成的結(jié)構(gòu)模型
XDoclet 對(duì)包含嵌入式 XDoclet 標(biāo)簽的輸入 Java 源代碼進(jìn)行解析,并為代碼建立非常詳細(xì)的結(jié)構(gòu)模型。結(jié)構(gòu)模型中的每個(gè)元素都代表源代碼中的一個(gè) Java 結(jié)構(gòu)。圖 2 顯示的結(jié)構(gòu)模型,揭示了 XDoclet 跟蹤的代碼構(gòu)造和關(guān)系。

圖 2. XDoclet 的解析的 Java 源代碼的內(nèi)部結(jié)構(gòu)模型
圖 2

圖 2 中的結(jié)構(gòu)模型跟蹤類、接口、方法之類的代碼構(gòu)造(模型元素)。該模型還跟蹤元素之間的關(guān)系,例如繼承和接口實(shí)現(xiàn)。以內(nèi)聯(lián)注釋的形式嵌入在源代碼中的 XDoclet 標(biāo)簽被解析為模型元素的屬性,并被跟蹤

深入 XDoclet
圖 3 顯示了 XDoclet 的內(nèi)部結(jié)構(gòu),揭示了使其運(yùn)行的功能塊。

圖 3. XDoclet 內(nèi)部的功能塊
圖 3

如 圖 3 所示,Apache Ant 在運(yùn)行的時(shí)候控制著 XDoclet 的配置和操作。XDoclet 解析輸入的 Java 源代碼,并在內(nèi)存中生成結(jié)構(gòu)模型。模板引擎通過處理一組模板和標(biāo)簽處理器,生成輸出文件。模板和標(biāo)簽處理器可以是內(nèi)置的,也可以是定制的。在代碼生成期 間,模板和標(biāo)簽處理器擁有對(duì)結(jié)構(gòu)模型的完全訪問。

XDoclet 虛假的復(fù)雜性
XDoclet 實(shí)質(zhì)上就是一個(gè)通用的 Javadoc 引擎(請(qǐng)參閱側(cè)欄,通用的 Javadoc 引擎)。那么,是什么讓它看起來(lái)這么復(fù)雜呢?答案在于:XDoclet 幾乎從未被單獨(dú)討論過,而總是藏在其他許多復(fù)雜的技術(shù)中。圖 4 顯示了了圍繞在 XDoclet 周圍的復(fù)雜性迷霧(請(qǐng)參閱側(cè)欄為什么 XDoclet 看起來(lái)比實(shí)際的要復(fù)雜得多)。

為什么 XDoclet 看起來(lái)比實(shí)際的要復(fù)雜得多
Apache Ant 自動(dòng)進(jìn)行 Java 軟件的生成過程。構(gòu)建管理過程通常是生產(chǎn)項(xiàng)目中更復(fù)雜過程中的一部分。構(gòu)建管理的術(shù)語(yǔ)和概念被集成到 Apache Ant 中,而且是理解其操作的先決條件。成熟的 Ant 腳本可能會(huì)非常復(fù)雜。Ant 的每個(gè)新版本,都會(huì)引入一些新的特性集,從而進(jìn)一步增加了復(fù)雜性。這形成了 XDoclet 表面的復(fù)雜性,因?yàn)?XDoclet 需要 Ant 才能執(zhí)行。

XDoclet 處理的問題領(lǐng)域是復(fù)雜性的另一個(gè)來(lái)源。在發(fā)布 XDoclet 的時(shí)候,XDoclet 已經(jīng)可以為 EJB 組件集成、J2EE Web 容器集成、Hibernate 持久性層、Struts 框架、Java 管理擴(kuò)展(JMX)等生成代碼。這些問題領(lǐng)域中的每一個(gè)領(lǐng)域都有一大套該領(lǐng)域?qū)S玫男性捄透拍?。從這些復(fù)雜的問題領(lǐng)域出來(lái)的問題,經(jīng)常主導(dǎo)著 XDoclet 的討論,這也提高了 XDoclet 表面的復(fù)雜性??赡苁?#8220;只見森林,不見樹木”。

圖 4. XDoclet 的復(fù)雜耦合
Figure 4

在圖 4 中,您可以看到 XDoclet 與以下內(nèi)容是緊密相關(guān)的:

  • Apache Ant,它控制著 XDoclet 的操作。XDoclet 是作為一組 Ant 任務(wù)存在的,沒有 Ant 則不能執(zhí)行。
  • 與生成文件關(guān)聯(lián)的具體問題領(lǐng)域的一些細(xì)節(jié)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多