Port và Adapter
Port là interface mô tả NHU CẦU của domain (“tôi cần lưu Order”); Adapter là phần hiện thực cụ thể quyết định làm bằng cách nào (Postgres, DynamoDB, hay thứ khác). Cặp khái niệm cốt lõi của Hexagonal Architecture.
Phân biệt
| Port | Adapter | |
|---|---|---|
| Là gì | Interface | Hiện thực cụ thể |
| Ví dụ | OrderRepository, EmailSender, PaymentVerifier | PostgresOrderRepository, SendgridEmailAdapter, StripePaymentAdapter |
| Domain phụ thuộc? | Có (domain định nghĩa port) | Không (domain không biết adapter nào) |
| AI viết? | Con người thiết kế | AI rất giỏi viết adapter |
Vì sao adapter là vùng lý tưởng cho AI
Adapter có ranh giới rõ, input/output rõ, ít quyết định nghiệp vụ - đúng vùng AI mạnh nhất. Đổi provider (Stripe → Adyen) chỉ là viết adapter mới, domain không đổi, AC test và domain test vẫn xanh.
Liên quan
- Hexagonal Architecture - bức tranh tổng
- AI-Assisted - adapter là phần nên giao nhiều cho AI
- Entity Model - domain core mà port phục vụ