Chapitre B02

Organiser l'architecture et les responsabilités

Revenir à la lecture accessible
Dans ce chapitre

Ce que tu sauras faire

Concevoir des modules cohérents, des ports et des adaptateurs sans ritualiser l'architecture hexagonale.

Première synthèse

Une frontière architecturale est utile lorsqu'elle encapsule une décision susceptible d'évoluer. Un port de stockage peut exprimer les capacités nécessaires au cas d'usage sans exposer le SDK d'un fournisseur. L'adaptateur traduit ces capacités, y compris leurs erreurs, dans le protocole concret.

Cette séparation n'annule pas les différences de comportement entre fournisseurs. Taille maximale, visibilité des écritures, expiration et garanties de reprise doivent rester explicites dans le contrat. Une substitution de technologie se démontre par des tests contractuels ; elle ne se déduit pas de l'existence d'une interface.

La profondeur d'un module décrit le service rendu derrière son interface, non un quotient scientifique à maximiser. Une grande implémentation n'est pas vertueuse en soi. On évalue plutôt le nombre de décisions que ses utilisateurs doivent connaître et le coût d'une modification locale.

Déroulé prévu

  1. Cohésion, couplage et profondeur des modules.
  2. Entités, objets-valeurs et frontières d'agrégats.
  3. Ports, adaptateurs et direction des dépendances.
  4. Points de substitution pour le test et l'évolution.

Mise en pratique

Définir un port de stockage et deux adaptateurs conceptuels avec leurs différences de garanties.

Critère de réussite

Le domaine ne dépend pas du transport ; les limites de substitution sont documentées.

Sources et limites

O-MD §1, §2 ; I-MD §2 .

Cette amorce est une synthèse éditoriale, pas la preuve d'une implémentation exécutée. Les rectifications et vérifications externes sont consignées dans le registre critique . Les exemples techniques restent à développer et à tester dans la tranche.

Rédaction de ce chapitre

Objectifs et critères de la tranche B02 .