首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

程式人生:我的 Java 三個月——從 JSP 入門到領悟 OOP 精髓、設計模式與架構思維

     編輯:Java 程式設計入門

階段一:JSP 降低入門門檻

「面向物件降低程式入門門檻」→ 改寫為「JSP 降低 Java 入門門檻」。JSP + Servlet 封裝了網路協定細節,幾行標籤就能輸出動態網頁,讓新手快速獲得成就感,專注於業務邏輯而非底層管道。

階段二:MVC 讓結構清晰

  • Model:資料與業務規則
  • View:JSP 呈現
  • Controller:Servlet 分派
  • 優勢:耦合鬆散、擴充容易、維護性高、測試友善。

階段三:無意中發現 Facade 模式

問題

團隊各自寫 DriverManager.getConnection(),資料庫連線散落各處 → 連線池無法用、修改連線參數需改十幾個檔案、資源浪費嚴重。

解決

寫一個 DBConnectionFacade 提供 static getConnection(),統一封裝連線邏輯。後來才知道這就是 Facade 模式:為複雜子系統提供簡潔介面。

階段四:自製 Servlet-Action 架構

參考《JSP 設計模式》的 Action 概念,加入 dowhat 參數讓單一 Action 處理多任務,減少類別爆炸。團隊接受度高,隱含 Command 模式 與 Front Controller 思想。

階段五:Swing 讓我再次見識 MVC

Swing 元件模型(Model/UI Delegate 分離)讓桌面開發同樣擁有 MVC 彈性。雖 Swing 早於 JSP,但先學 JSP 再回頭看 Swing,反而更能體會 MVC 普世性。

階段六:介面與實作分離——Java vs C++ vs C#

語言介面/實作機制評價
C/C++.h / .cpp 分離編譯期依賴、無真介面概念、inline 效率優勢以外較弱
Javainterface + 實作類別真正介面、支援多實作、天生 Plug-in、執行期多型、編譯期解耦
C#interface + class,捨棄 .h 模式同 Java,更現代化

階段七:介面導向設計帶來的擴充彈性

  • 系統劃分為「介面(契約)」與「實作(類別)」。
  • 業務邏輯開發先定介面,快速產出可用版本;優化時提供新實作替換,不動介面、不影響調用端。
  • 對比 C++ 繼承體系:子類別平行擴充易導致「實作繼承」濫用、脆弱基底類別問題。Java 介面組合更符合「組合優於繼承」。

給後進者的三點建議

  1. 先寫 JSP/Servlet 體驗 MVC,建立 Web 開發直覺。
  2. 刻意練習「介面優先」:每個新功能先定 interface,再寫 impl。
  3. 重構時找模式:遇到重複、耦合、剛性,對照 GoF 23 模式,你會發現自己早已在用。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved