AD基於這樣一種設計思想:把域模型中實體類對應的實體表的定義放到表AD_TABLE和AD_COLUMN兩個表中,這就是所謂的Application Dictionary(簡稱AD)了。
AD的使用是首先在數據庫中創建一個實體表(Tablename),然後把表名(Tablename)映射到AD_TBALE表的TABLENAME列中,再把實體表(Tablename)的列名映射到AD_COLUMN表的COLUMNNAME列中。這樣就完成了AD配置或裝載。
那麼它的好處是什麼呢?
第一、可以通過AD自動生成域模型中的實體類代碼。在Compiere中是通過執行generateModel工具實現的。
第二、可以通過AD自動生成界面中的表單窗體。在Compiere中一個表單窗體Window(AD_WINDOW)是由幾個Tab選項卡構成,而Tabs選項卡又由幾個Field文本框構成。顯然這種結和AD比較象,那麼我們讓Tab(AD_TAB)和AD_TABLE映射,讓Field(AD_FIELD)和AD_COLUMN映射,這樣就很容易生成一個動態表單窗體了。
第三、可以通過AD自動生成數據庫的實體表。(不過Compiere並沒實現這步)。
AD其實就是一個類工廠,你要什麼,它就生產什麼。