初始架構設計決定產品成敗。需調研同類產品、技術棧、理論支撐,結合項目特點(透徹的系統分析),逐步形成架構藍圖。以網站引擎為例:從 Yahoo 個人主頁生成工具、虛擬主機建站系統、IBM WebSphere Portal 等產品中汲取優缺點,定位自身產品坐標。
架構是動態演進的骨架,設計模式是支撐的血肉。J2EE 藍圖模式目錄清晰展示了框架架構與模式的對應關係。好的系統代碼中幾乎處處可見模式(如 Pet Store)。
不僅代碼復用,更包括設計模式、組件級復用。用戶註冊/權限驗證等通用子域,應以「組件」思維建設,而非單項目視角。
將複雜問題簡單化是中間件/多層架構本質。但實踐中易陷入「過度設計」——濫用模式反而複雜化。判準:代碼越接近事物本質特徵,設計越簡單,系統越可靠。單類無法表達本質時,正確組合多類與模式成關鍵。
站在理論高度設計。以「工作流」為例:樹形結構是組織信息的基本形式。將樹形結構與具體功能解耦,節點掛鏈接功能(如聖誕樹掛禮物);用戶/組同樣掛節點,間接實現權限控制。這樣的架構天然具備二次開發與領域擴展能力。
RUP(重流程)或 XP(輕量、測試驅動)提供動態保障。架構設計伴隨項目全程,靜態模式 + 動態工法 = 正確快速落地。