模式是解決某類問題的方法論總結。Alexander 經典定義:「描述環境中反覆出現的問題及其解決方案核心,讓方案可重複使用。」軟體設計領域隨成熟度提升自然產生大量模式。
框架是某類應用的半成品、一組可復用元件,處於低層平台(如 J2EE)與高層業務邏輯間的中介層。使用成熟框架等於讓他人完成基礎工作,專注業務邏輯,並享受持續升級紅利。
實現「高內聚、低耦合」,問題分治易於控制、擴展、資源分配。
RUP、XP 等過程方法屬另一角度的模式。
| 框架 | 全稱/定位 | 核心技術 | 特點 |
|---|---|---|---|
| WAF | Web Application Framework | EJB | Sun PetStore 範例框架,實現 MVC,學習 J2EE 首選 |
| Struts | Apache 開源 | JSP, TagLib, JavaBean, XML | Web 層主流,基於 MVC,結構優,JBuilder 整合 |
| Turbine | Apache 開源 | Servlet | 基於 Service 可插拔元件,速度快 |
| Cocoon | Apache 開源 | XML, XSP, Servlet | 基於 XML/XSP,支援多種資料源 |
| Echo | NextApp 開源 | Servlet | Swing 風格寫網頁,圖形效果豐富,資源消耗大 |
| JATO | Sun ONE Application Framework | JSP, TagLib, JavaBean | 商業框架,適合小型 Web 應用 |
| TCF | Thin-Client Framework | Java Application | IBM AlphaWorks,針對 Java GUI |
JSP(TagLib) → ActionForm → Action → Event → EJBAction → EJB → DAO → Database
理解模式指導設計、框架加速落地,是架構師進階必修課。