「面向物件降低程式入門門檻」→ 改寫為「JSP 降低 Java 入門門檻」。JSP + Servlet 封裝了網路協定細節,幾行標籤就能輸出動態網頁,讓新手快速獲得成就感,專注於業務邏輯而非底層管道。
團隊各自寫 DriverManager.getConnection(),資料庫連線散落各處 → 連線池無法用、修改連線參數需改十幾個檔案、資源浪費嚴重。
寫一個 DBConnectionFacade 提供 static getConnection(),統一封裝連線邏輯。後來才知道這就是 Facade 模式:為複雜子系統提供簡潔介面。
參考《JSP 設計模式》的 Action 概念,加入 dowhat 參數讓單一 Action 處理多任務,減少類別爆炸。團隊接受度高,隱含 Command 模式 與 Front Controller 思想。
Swing 元件模型(Model/UI Delegate 分離)讓桌面開發同樣擁有 MVC 彈性。雖 Swing 早於 JSP,但先學 JSP 再回頭看 Swing,反而更能體會 MVC 普世性。
| 語言 | 介面/實作機制 | 評價 |
|---|---|---|
| C/C++ | .h / .cpp 分離 | 編譯期依賴、無真介面概念、inline 效率優勢以外較弱 |
| Java | interface + 實作類別 | 真正介面、支援多實作、天生 Plug-in、執行期多型、編譯期解耦 |
| C# | interface + class,捨棄 .h 模式 | 同 Java,更現代化 |
interface,再寫 impl。