架構分層和 API 命名

Jetpack Compose A2UI 算繪器定義了分層架構,可讓您選擇合適的層級進行建構。除了語意分層之外,明確的命名架構也能傳達 API 用意,並控管顯示範圍,避免不必要的內部型別汙染類路徑。

API 會根據用途和可見度,分為兩大類:

  1. 應用程式和元件開發人員適用的 API:供直接使用的公開 API 具有簡潔的名稱,並加上 A2ui 前置字串 (或設計系統和測試前置字串,例如 MaterialA2ui 和 A2uiTest)。範例包括 A2uiCatalog、A2uiComponent 和 A2uiException。
  2. UI 架構整合人員適用的 API:程式庫會使用這些 API,在核心資料層和 UI 架構之間建立橋接器,這些 API 的名稱會加上 A2uiCore 前置字元,方便辨識。這些 API 並非供應用程式直接參照,且仍會對標準應用程式程式碼隱藏。例如 A2uiCoreCatalog、A2uiCoreDataModel 和 A2uiCoreSurfaceModel。

由於核心資料層包含這兩類型的型別,因此會分散在兩個不同的構件中:androidx.a2ui:a2ui-model (適用於應用程式開發人員) 和 androidx.a2ui:a2ui-engine (適用於架構整合人員)。這個結構可讓架構程式庫依附於 a2ui-engine 做為實作依附元件,避免 A2uiCore 型別汙染公開應用程式類別路徑。

第 1 類:應用程式開發人員 API

下表列出適用於應用程式和元件開發人員的公用 API。

androidx.a2ui:a2ui-model

類型 說明
A2uiSurfaceModel 代表 UI 介面的唯讀介面
A2uiMessageProcessor 處理內送訊息的進入點類型
A2uiMessageParser 通訊協定訊息的剖析器介面
A2uiServerToClientMessage 收到的訊息酬載
A2uiSchema 用於定義元件屬性結構定義的型別
A2uiException 在各層擲回及處理例外狀況
A2uiUserAction 因使用者互動而建立的動作酬載
A2uiClientToServerMessage 所有外寄訊息酬載的基礎類型
A2uiActionInterceptor 資料層級使用者動作攔截器
A2uiFunctionDefinition 本機用戶端函式的定義
A2uiDataPath JSON 指標路徑表示法

androidx.a2ui.compose:compose-runtime

類型 說明
a2uiRuntimeMessageProcessor 訊息處理器的擴充功能建構函式
A2uiMessageParser 訊息剖析器的擴充功能建構函式
A2uiComponentState 代表反應式元件狀態的介面
A2uiComponentModel 成功解析元件的資料模型
A2uiComponentProperties 穩定屬性容器,可最佳化重組作業
A2uiProperty 強型別元件屬性定義
A2uiComponentScope 用於評估繫結和子項元件的接收器範圍
A2uiComponentReference 用於解析巢狀子項元件的指標

androidx.a2ui.compose:compose-ui

類型 說明
A2uiCatalog