這幾天趕 project 趕得頭昏腦脹,而且鐵定無法如期完成,不知道屆時怎麼收場。趁現在靈台尚有一線清明,把下一步的計畫記下來。
首先,由最近用 Databinder 的感覺看來,下一步應該嘗試自動產生程式。為何選擇自動產生,是因為這種方式若想要細項修改還可以改,如果搞成 framework,那麼就變成一樣東西要能配合所有可能性,複雜度會太高。
既然加上 persistence annotation 的 POJO 物件可以自動產生 database 端的 table,沒理由不能更進一步,也就是說,從 EJB 直接一路產生整個應用程式雛型。所需要的,其實只是每個欄位的 user-friendly 名稱。如果此一名稱可以由 annotation 設定,那麼從 database <-> EJB <-> java file <-> wicket html 的對應其實都是固定的。例如我們可以指定 primitive type 的欄位,在網頁上其實就是 text field;如果是 many-to-one,其實就是 drop-down box;如果是 one-to-many,那就列一個表格,在下方加入新增資料功能。
如此這般,便可「經由某 EJB 產生相對應的網頁以及程式」,這東西如果要自己做的話,大概 Java 5.0 的 annotation 詳細規格要研究一下。不過我想先搞清楚 Qwicket 究竟是怎麼回事,發展到什麼程度了。說不定這套東西就可以直接弄出來。
另一個一定得熟悉一下的東西是 Maven。雖然才重拾 Java 沒多久,已經足夠我發現 java 這一狗票 jar 之間的 dependency 真是超級討厭的,而且每次新增一個 dynamic web project 還得把 library 一個一個設進來,如果用各 framework 都喜歡提供的 quickstart,很抱歉每家的基本格式都不太一樣,只要用了兩個以上 framework,就又要 merge 了。Maven 提供一個很簡單的機制,可以把這些東西都放在一個中央的 repository 裡頭管理,只要寫一下設定檔,其他的動作都是自動完成,實在是不錯。
沒有留言 :
張貼留言