軟體設計就像是烹調一道色香味全的佳餚一樣,是否能讓饕客食指大動,無論是食材的調配或是佐料的選擇都是十分重要的因素。由於Java軟體專案開發的過程中,除了JDK本身提供的標準套件外,開發人員常會因應特定需要額外再引用特定目的且功能較強的程式庫,來加速專案開發的進行。這些套件經常出現在各種軟體專案開發中,而且功能會被重覆使用,故Apache軟體基金會特別在Jakarta專案下成立Commons這個子專案,收錄軟體專案中常用的輕量級軟體元件,讓開發人員能得到更全面性的解答。
問題導向式的文章架構,簡潔而不死板
只要曾經使用Java為開發應用程式為主要語言,想必聽過Jakarta Commons這個開放軟體專案,它所包含的軟體套件眾多,平常大家也許只用到其中知名的幾個,例如在使用Struts及Hibernate框架時會搭配的BeanUtil套件,與HTTP網路處理有關的HTTPClient及WebDAV。
《Jakarta Commons Cookbook》的定位為實作手冊,但不會單調地依套件逐一列示(不像程式庫手冊一般)。每個主題先以問題描述啟始,再提供如何以Jakarta Commons套件解決此問題的方法,並佐以程式碼輔助說明,這些程式碼即可套用在你的軟體專案中,提供讀者在程式實作時更明確的指引,最後再舉出與此主題有關的其他解法並比較討論,讓讀者更能以不同的角度思考。
主題明確的內容規劃,讓你快速找到你要的烹調法
全書共分為12個章節,每個章節中再針對不同的問題別細分。第1章《Supplements to the Java Platform》討論針對JDK套件補強的部份,讓開發人員在使用上更直覺更方便。第2章《Manipulating Text》討論對文字及字串的處理。第3章《JavaBean》便提供針對對JavaBean的功能支援。第4章《Functors》介紹了一系列的工具套件。
第5章《Collections》介紹Commons裡提供一些資料結構用法,以及對JDK現有的資料結構提供進階的操作方式。第6章《XML》介紹如何運用Digester來處理XML文件,以及使用Betwixt將JavaBean與XML文件之間進行轉換。第7章《Application Infrastructure》介紹透過Configuration管理系統組態的方式,另外介紹如何利用CLI剖析命令列下的指令結構,本章亦提到Logging的用法,以及跟Log4J的差異。第8章《Math》介紹在Common Lang及Commons Math中關於數值運算的套件。
第9章《Templating》介紹輕量級的樣版引擎JEXL,如何運用EL表示式來進行套版設計,同時也討論介紹Jakarta Velocity及FreeMarker與JEXL的異同。第10章《IO and Networking》包括了許多處理串流(Stream)與檔案的工具套件,利用正規表示式(Regular Expression)對檔案與目錄的操作,以及一些常見網路傳輸協定(FTP、POP、SMTP)的Client物件。第11章《HTTP and WebDAV》教你善用HTTPClient及WebDAV Client來進行網路上的資料傳輸。第十二章《Searching and Filtering》則介紹如何運用JXPath,Lucence快速搜尋。
闡述物件可重用性及介面標準化的設計精神
讀者在閱讀本書時也許會發現書中套件的版本已經不是最新版本,但Jakarta Commons強調的是介面一致性及版本向前相容的精神,所以未來新版出現時對舊版的程式撰寫方式亦能有效支援。
除了本書以外,你也可以搭配參考其他相關主題的書籍,例如《Applied Software Engineering Using Apache Jakarta Commons》、《Pro Jakarta Commons》。準備好試試烹調一份美味的Java大餐了嗎?
《作者簡介》
陳宏一,現任億訊國際資深顧問,交通大學資訊管理研究所碩士。曾任職於南亞科技資訊部工程師、資迅人網路研發副理、數位營運研發專案經理、艾群科技產品研發部經理,專精於OOAD、J2EE Technology、Web application development、軟體開發流程及專案管理等;通過SCJP、SCWCD、 SCJD、SCEA等認證。曾參與線上社群網站規劃設計、電子商務網站規劃設計、金流整合及後臺管理系統規劃設計、線上遊戲系統監控管理平臺及計費系統規劃設計、網路開店系統平臺架構設計、WAP Portal規劃設計等專案規劃建置。
熱門新聞
2026-01-12
2026-01-12
2026-01-12
2026-01-12
2026-01-12