docs(architecture): update architecture overview with AggregateRoot and ReadModel
This commit is contained in:
parent
e31767cfd0
commit
6f08526c7b
1 changed files with 4 additions and 4 deletions
|
|
@ -35,11 +35,11 @@ Arcadia API combine 3 paradigmes éprouvés pour créer une base de code hauteme
|
|||
### 1. `Domain\` - Le Coeur Métier Pur
|
||||
- **Dépendance** : Ne dépend de **RIEN** (sauf `Shared\`). **Aucun import Laravel / Eloquent / HTTP n'est toléré**.
|
||||
- **Contenu** :
|
||||
- **`Models/Entities/`** : Entités riches, `final readonly`, immutables, implémentant `Shared\DDD\Model\Entity`.
|
||||
- **`Models/Entities/`** : Entités riches, `final readonly`, immutables, implémentant `Shared\DDD\Model\Entity` ou `Shared\DDD\Model\AggregateRoot` (modèles d'écriture) et/ou `Shared\DDD\Model\ReadModel` (modèles de lecture).
|
||||
- **`Models/ValueObjects/`** : Objets-valeurs typés et auto-validants (ex: `ArcadiaEmployeeId`, `NutriScore`, `BrandCode`).
|
||||
- **`Ports/`** : Interfaces des opérations externes :
|
||||
- `Directories/` : Ports de lecture seule (pattern `Directory<TId, TEntity>`).
|
||||
- `Repositories/` : Ports de persistance / écriture (`Repository<TId, TEntity>`).
|
||||
- `Directories/` : Ports de lecture seule pour modèles de lecture purs (`Directory<TId, TReadModel of ReadModel>`).
|
||||
- `Repositories/` : Ports de cycle de vie et requêtes d'agrégats racines (`Repository<TId, TAggregate of AggregateRoot>`).
|
||||
- `Services/` : Interfaces pour services externes métier.
|
||||
- **`Events/`** : Événements métier purs (ex: `BrandCreated`).
|
||||
- **`Services/`** : Logique métier pure impliquant plusieurs entités.
|
||||
|
|
@ -83,7 +83,7 @@ Arcadia API combine 3 paradigmes éprouvés pour créer une base de code hauteme
|
|||
### 5. `Shared\` - Le Socle DDD Transverse
|
||||
- **Dépendance** : Zéro dépendance externe (hors PSR-20).
|
||||
- **Contenu** :
|
||||
- Socle DDD (`Entity`, `EntityId`, `Usecase`, `Input`, `Output`, `Presenter`, `DomainEventDispatcher`, `TransactionalDomainEventDispatcher`, `UsecaseBuilder`, `Paginated`, `Pagination`).
|
||||
- Socle DDD (`Entity`, `EntityId`, `AggregateRoot`, `ReadModel`, `Usecase`, `Input`, `Output`, `Presenter`, `DomainEventDispatcher`, `TransactionalDomainEventDispatcher`, `UsecaseBuilder`, `Paginated`, `Pagination`).
|
||||
- Gestion du temps (`Shared\Time\` : `Clock` PSR-20, `SystemClock`, `SystemUtcClock`, `FrozenClock`, Façade `Utc`).
|
||||
|
||||
---
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue