Data Access Boundary¶
Stable ID: component.data-access
Kind: shared-component
Status: stable
Source: skill/references/shared-components/data-access.md
Purpose¶
Isolate persistence protocols, queries, transactions, and mapping from domain decisions.
Use when¶
- Domain behaviour should not depend on a database client.
- Multiple storage implementations or tests need a stable port.
- Transaction and consistency rules need one owner.
Avoid when¶
- A thin script performs one obvious query with no domain layer.
- A repository abstraction would only mirror every table operation.
Applicability¶
- Languages:
any,python,q-kdbplus,cpp,rust,dart-flutter,typescript - Related entries:
pattern.repository,decision.repository-vs-adapter