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

Eclipse「分層法則」實踐指南:核心與 UI 嚴格分離,模組劃分最佳實務

     編輯:Java 相關知識

《Contributing to Eclipse》提出的「分層法則」核心精神:語言無關功能與特定語言功能分離、核心功能與 UI 功能分離。本文結合實務經驗,說明如何在架構設計階段落實此法則。

兩階段模組劃分法

階段一:依功能領域劃分基礎模組

典型產出:底層基礎模組(資源管理、執行時模型、Workbench 等)與上層功能模組(如基於 GEF 的編輯器)。底層提供服務,上層消費服務。

階段二:各模組內部再拆 Core / UI

每個功能模組(含底層)一律拆分為:

  • com.myproduct.xxx.core:領域模型、業務邏輯、非 UI 服務。
  • com.myproduct.xxx.ui:視圖、編輯器、Wizard、Action 等 UI 程式碼。

範例結構:

com.myproduct.myeditor.core   // EMF 模型
com.myproduct.myeditor.ui     // GEF 編輯器 UI
com.myproduct.resource.core   // Builder 邏輯
com.myproduct.refactoring.core // 重構核心演算法
com.myproduct.refactoring.ui  // 重構 Wizard、對話框

最常見違規情境與修正

錯誤:上層 Core 直接依賴底層 UI(如 myeditor.core 呼叫 refactoring.ui 類別)。

正確:上層 Core 僅依賴底層 Core;UI 層之間可依賴(myeditor.ui → refactoring.ui),或上層 UI 依賴底層 Core。

// 錯誤依賴
myeditor.core → refactoring.ui (✗)

// 正確依賴
myeditor.core → refactoring.core (✓)
myeditor.ui   → refactoring.ui   (✓)
myeditor.ui   → refactoring.core (✓)

落地檢核清單

  1. 架構設計階段即引入分層法則,先切功能模組,再拆 Core/UI。
  2. 嚴禁 Core 依賴任何 UI 套件(含 org.eclipse.ui、org.eclipse.jface)。
  3. 預設每功能模組建立 *.core、*.ui 兩個 Plug-in,以物理結構強制約束。
  4. 利用 PDE 依賴分析工具定期檢查違規依賴。

遵循分層法則不僅符合 Eclipse 平台慣例,更能提升模組可測試性、可複用性與團隊並行開發效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved