現狀
十年老項目,單倉庫十幾個產品包名隔離,相互調用混亂,三大基礎產品被強依賴,JS/CSS/JS 混雜,公共接口參數過濾條件硬編碼判斷多。
重構路線圖
- Maven 多模塊化:按業務域拆分為獨立 Module(基礎核心、用戶中心、訂單、報表等),
pom.xml 管理依賴樹,打包發布為 JAR 到私服。
- 接口 + 工廠模式解耦公共功能:
- 定義統一接口
UserSelector,參數分通用參數(操作人、租戶)與變化參數(Map/可變對象)。
- 各產品實現
UserSelector,工廠根據產品標識返回實例,消除大量 if-else。
- 前端資源獨立化:JS/CSS/圖片隨模塊打包,或抽離為獨立前端項目(Nginx 靜態資源服務器),頁面引用版本化路徑。
- 服務化治理:引入 Dubbo/Spring Cloud,模塊間通過 RPC 調用,配置註冊中心、熔斷限流、鏈路追蹤。
- 數據庫拆分:按微服務邊界拆分 Schema/實例,避免跨庫 JOIN,最終一致性用事件驅動。
原則
大刀闊斧、一次到位,避免「半重構」產生雙重維護負擔。優先梳理核心域模型,建立防腐層平滑遷移。