核心觀點:J2EE 開發三寶——領域建模、設計模式、框架
釐清基本概念
- Java vs J2EE:Java 不僅是語言,更代表一個與 .NET 對抗的技術陣營;J2EE 則是 Java 在資料庫資訊系統(B/S 架構)上的標準實作。
- J2EE 三大子技術:Web 技術、EJB 技術、JMS。實際落地必須具體到這三者。
- 容器與應用:Web 容器、EJB 容器。開發工具需指定目標容器。
- JavaBeans 演進:普通 JavaBeans → EJB(企業級規範,提供事務/安全/擴展)→ POJO(純粹的 Java 物件,不綁定框架)。
架構分層:解耦是關鍵
衡量設計水平的標準在於解耦程度。將系統抽象為三層:
- 表現層:Web 技術,常用 Struts、JSF 等框架與標籤庫實現。
- 服務層:業務邏輯核心。可選 EJB 或輕量級容器管理 POJO。
- 持久層:資料存取。iBatis、Hibernate、JDO、EJB Entity Bean 等多種方案並存。
兩大服務層架構選擇
| 架構類型 | 代表框架 | 特點 |
| 管理 POJO(輕量級) | Spring, JdonFramework | IoC 模式,弱約束,易測試 |
| 管理 EJB(標準規範) | EJB 2.x/3.0 | 強約束,內建事務/安全,標準化演進 |
兩者將長期並存,EJB 3.0 已吸收 IoC 概念,界線逐漸模糊。
持久層百花齊放
SQL 直寫、O/R Mapping、EJB Entity Bean 各有優劣,尚無統一標準。表現層同樣如此,JSF 代表新方向但複雜度較高。
工具與產品選型建議
- SUN 理論強、產品弱;初學者應擺脫認證導向,拥抱開源生態。
- 採用「表現層 + 服務層 + 持久層」框架組合,即使不深諳設計模式也能開發出高品質系統。
補充關鍵:領域建模
正確理解業務需求是前提。領域建模結合 UML 提供務實的需求分析方法,確保系統架構貼合業務實質。
進階之路:打造行業框架
從設計模式入手,掌握類與模組層面的解耦技巧,進而提煉可復用的行業框架。