分析階段「仰望星空」關注業務領域模型,設計階段則需「腳踏實地」依賴平台、語言、廠商等技術因素。原則上保持業務物件屬性行為不變,除非絕對必要。詳細設計需規格化所有類別:屬性、介面、偽碼或純文字操作描述,結合模型圖提供完整編碼資訊。自動化工具可從 OO 圖產生程式碼框架。圖 5、6 展示領域物件高層與詳細設計,包含 EJB 基礎的 Stub/Skeleton(對設計者透明)。
雖 OO 方法流行,主流成熟持久化存儲仍為關聯式資料庫,客戶 IT 基礎設施多投資商用 RDBMS。將領域物件轉換為關係模型/資料表至關重要。雖有 CMP 工具,**無法取代優秀的關聯式資料庫設計**。
若架構與詳細設計完善,實作應為明確任務。垂直原型階段已驗證架構,減少驚喜。警惕「過早進入實作」:管理壓力導致開發者跳過設計直接編碼,數月後才發現方向錯誤。應花時間繪製 UML 草圖,而非邊寫邊測試想法。
驗證包含單元測試、整合測試、使用者測試,橫跨開發與生產環境,確保系統符合設計與需求。
提供使用者訓練與文檔。建立變更管理流程處理錯誤回報與新需求。**熱部署**:無需關閉系統即可部署新組件或替換舊組件。
首個 J2EE 專案需原型、測試、度量、分析、迭代推敲。Sun 藍圖提供設計指導,Pet Store 為優秀參考架構。核心模式:**MVC + Command Pattern**,適用 Web-centric 與 EJB-centric 系統。主要可重用組件:
MainServlet:入口控制器RequestProcessor/Handler/Mapping:請求處理鏈RequestToEventTranslator:HTTP 請求轉業務事件ScreenflowManager:畫面流控制ShoppingClientControllerWebImpl/EJB:Web/EJB 層入口控制器StateMachine/Handler/Mapping:EJB 層事件處理鏈ModelUpdateManager/Listener/Notifier:模型更新通知機制依專案/領域修改。設計模式為可重用微架構。藍圖 J2EE 模式目錄與 GoF 23 模式為佳資源。例:動態註冊事件處理器至中央控制器支援工作流管理。
J2EE 技術通用,業務問題各異。建立基礎框架後,實作關鍵使用案例驗證架構。從領域分析模型映射高/低層設計模型(如圖 5、6),實作測試,風險重評估,迭代擴展場景覆蓋範圍。數次迭代後架構原型穩定,識別採購組件、整合舊系統,進入軟體設計階段。
八步驟將複雜問題分解,如學舞步:先刻意練習基本步,熟練後關注規模、速度、流暢度與情境節奏。**流程不應限制創造力,應接納擴展流程以滿足特殊需求,最終目標是交付滿足客戶需求的完整 J2EE 解決方案。**