Java 世界框架林立,初學者易產生「配置恐懼症」。實則框架多樣化是從封閉走向開放的必然。掌握模式思維(設計模式的內化理解),如同掌握「轎車通用概念」後能在眾多車款中自如選擇,而非只能被動接受單一「紅旗轎車」。
struts-config.xml 不再是冗餘複雜,而是必要的模式具象化表達。代碼量遊戲可能更大,但企業軟體複雜在「順應需求變化」。遊戲用戶服從規則;企業軟體必須服從用戶變化(如市場人員看臉色行事)。企業軟體具有生命力,隨時間演進,需預留變化空間,這種「面向未來不確定性」的思維才是真正複雜之源。
神秘不在實現,而在應用場景恰當。它隱藏物件建立細節,是工廠模式的經典實現。同理,Collection 看似簡單幾個介面,配合單例實現緩存、適配器轉換介面,實則支撐多種模式組合應用。
將樹形編碼 112233 硬編碼於業務邏輯,是資料與業務強耦合的反模式。正確做法:Composite 模式統一樹結構存取 + Visitor 模式分離新增操作,雙模式協作解決「結構變化」與「操作擴充」雙重變化點。
GoF 三大類別精準對應 OO 三維度:
某台鋼鐵專案:Controller 兼 Service,配置耦合頁面流程、控制類、DAO/VO,直接綁定表現層與持久層,缺失領域模型與服務層,退化為傳統兩層 C/S 架構。結果:併發下效能崩潰、服務器頻繁重啟、死機。
緩存/連接池等效能模式,建立在良好物件設計與領域建模基礎上,否則粒度不準、動態機制失效,無法發揮效能甚至無法使用。
模式思維非學術裝飾,而是應對變化、控制複雜度、實現高效能的工程核心能力。從「畏懼配置」到「以配置表達設計」,正是從碼農到架構師的關鍵蛻變。