Lớp phủ kiến trúc và cách đặt tên API

Trình kết xuất A2UI của Jetpack Compose xác định một kiến trúc phân lớp cho phép bạn chọn lớp phù hợp để xây dựng. Ngoài việc phân lớp ngữ nghĩa, một sơ đồ đặt tên rõ ràng sẽ truyền đạt ý định của API và kiểm soát khả năng hiển thị để tránh làm ô nhiễm đường dẫn lớp bằng các loại nội bộ không cần thiết.

Các API được sắp xếp thành hai danh mục chính dựa trên trường hợp sử dụng và khả năng hiển thị:

  1. API cho nhà phát triển ứng dụng và thành phần: API công khai dùng cho mục đích sử dụng trực tiếp có tên rõ ràng, ngắn gọn với tiền tố A2ui (hoặc tiền tố hệ thống thiết kế và kiểm thử như MaterialA2uiA2uiTest). Ví dụ: A2uiCatalog, A2uiComponentA2uiException.
  2. API cho các trình tích hợp khung giao diện người dùng: Các API được dùng bởi các thư viện kết nối lớp dữ liệu cốt lõi và khung giao diện người dùng có tên mô tả bắt đầu bằng A2uiCore. Các API này không dành cho việc tham chiếu trực tiếp ứng dụng và vẫn bị ẩn khỏi mã xử lý ứng dụng tiêu chuẩn. Ví dụ: A2uiCoreCatalog, A2uiCoreDataModelA2uiCoreSurfaceModel.

Vì lớp dữ liệu cốt lõi chứa các loại của cả hai danh mục, nên lớp này được phân phối trên hai cấu phần phần mềm riêng biệt: androidx.a2ui:a2ui-model (dành cho nhà phát triển ứng dụng) và androidx.a2ui:a2ui-engine (dành cho đơn vị tích hợp khung). Cấu trúc này cho phép các thư viện khung phụ thuộc vào a2ui-engine dưới dạng một phần phụ thuộc triển khai, ngăn các loại A2uiCore làm ảnh hưởng đến đường dẫn lớp ứng dụng công khai.

Danh mục 1: API dành cho nhà phát triển ứng dụng

Các bảng sau đây liệt kê những API công khai dành cho nhà phát triển ứng dụng và thành phần.

androidx.a2ui:a2ui-model

Loại Mô tả
A2uiSurfaceModel Giao diện chỉ đọc đại diện cho một bề mặt giao diện người dùng
A2uiMessageProcessor Loại điểm truy cập để xử lý thư đến
A2uiMessageParser Giao diện trình phân tích cú pháp cho thông báo giao thức
A2uiServerToClientMessage Tải trọng tin nhắn đến
A2uiSchema Các loại dùng để xác định giản đồ thuộc tính thành phần
A2uiException Các trường hợp ngoại lệ được gửi và xử lý trên các lớp
A2uiUserAction Tải trọng hành động được tạo do các lượt tương tác của người dùng
A2uiClientToServerMessage Loại cơ sở cho tất cả tải trọng thông báo gửi đi
A2uiActionInterceptor Trình chặn hành động của người dùng ở cấp lớp dữ liệu
A2uiFunctionDefinition Định nghĩa về hàm máy khách cục bộ
A2uiDataPath Biểu diễn đường dẫn con trỏ JSON

androidx.a2ui.compose:compose-runtime

Loại Mô tả
a2uiRuntimeMessageProcessor Hàm khởi tạo tiện ích cho trình xử lý thông báo
A2uiMessageParser Hàm khởi tạo tiện ích cho trình phân tích cú pháp thông báo
A2uiComponentState Giao diện biểu thị trạng thái của thành phần phản ứng
A2uiComponentModel Mô hình dữ liệu cho một thành phần được phân giải thành công
A2uiComponentProperties Vùng chứa tài sản ổn định giúp tối ưu hoá việc kết hợp lại
A2uiProperty Định nghĩa thuộc tính thành phần được gõ mạnh
A2uiComponentScope Phạm vi của receiver để đánh giá các thành phần liên kết và thành phần con
A2uiComponentReference Con trỏ để phân giải các thành phần con được lồng

androidx.a2ui.compose:compose-ui

Loại Mô tả
A2uiCatalog Giao diện và hàm khởi tạo tiện ích để xác định danh mục
A2uiComponent Giao diện để xác định việc triển khai thành phần Compose
A2uiComponent (có thể kết hợp) Hàm composable phát ra giao diện người dùng cho một thành phần

androidx.compose.material3:material3-a2ui

Loại Mô tả
A2uiSurface Điểm truy cập thành phần kết hợp kết xuất một nền tảng
materialA2uiBasicCatalogV1 Hàm tạo của nhà máy để tạo một thực thể của Danh mục cơ bản sử dụng các thành phần Material 3
MaterialA2uiBasicCatalogV1Defaults Phương thức triển khai Material 3 mặc định của Danh mục cơ bản

androidx.a2ui.compose:compose-ui-testing

Loại Mô tả
A2uiTestController Trình kiểm thử để điều phối phiên chạy thử nghiệm
A2uiComponentStub Triển khai thành phần bị chặn hoặc bị ghi đè
A2uiTestSurface Hàm composable kết xuất một bề mặt kiểm thử

Danh mục 2: API của trình tích hợp khung

Bảng sau đây liệt kê các API dành cho trình tích hợp khung.

androidx.a2ui:a2ui-engine

Loại Mô tả
A2uiCoreCatalog Chứa một nhóm đối tượng A2uiCoreComponentDefinition
A2uiCoreCatalogSerializer Trình chuyển đổi tuần tự cho danh mục A2UI
A2uiCoreComponentDefinition Chứa siêu dữ liệu xác định một thành phần
A2uiCoreSurfaceModel Triển khai A2uiSurfaceModel, hiển thị các sổ đăng ký
A2uiCoreSurfaceGroupModel Triển khai A2uiSurfaceGroupModel
A2uiCoreMessageProcessor Triển khai A2uiMessageProcessor
A2uiCoreDataModel Đối tượng giữ mô hình dữ liệu phản ứng
A2uiCoreComponentRegistry Sổ đăng ký thành phần
A2uiCoreValueResolver Công cụ truy cập dữ liệu để sử dụng trong trình đánh giá động
A2uiCoreSchemaValidator Trình xác thực giản đồ thành phần