Skip to content

Port

Un port est un contrat d'abstraction entre la couche application et les systèmes externes. Il définit les capacités requises par les use cases en gardant les détails d'infrastructure hors du code métier.

Exemple

Fonctionnement

C.createPort<GenericPort>() retourne un handler de port. Son objectif est simple : vous forcer à fournir une implémentation qui respecte exactement le contrat GenericPort (paramètres, retours, async, etc.).

INFO

Ce helper est volontairement minimal : il ne fournit pas de logique runtime. Sa valeur est dans le typage et la composition avec useCase.

Déclarer un contrat

Le contrat d'un port est généralement une interface de l'application layer (ex: send, notify, publish, ...).

Une fois le handler créé, vous pouvez le passer comme dépendance à C.createUseCase(...) et instancier le use case avec une implémentation réelle (infrastructure layer).

Méthodes et Propriétés

Un PortHandler<GenericPort> expose :

Méthodes

createImplementation()

Retourne l'implémentation fournie, en s'assurant qu'elle respecte le contrat.

typescript
function createImplementation(
	implementation: GenericPort
): GenericPort

Voir aussi

Diffusé sous licence MIT.