Aller au contenu
Filtrer les règles par style d’implémentation
Style
Les deux styles
Sévérité
majeure
Détection
fitnessDétection des cycles avec dependency-cruiser ou madge.
S’applique à
  • Structure et décisions

LAY-02 · Aucun cycle entre modules de même niveau ​

Style
Les deux styles
Sévérité
majeure
Détection
fitnessDétection des cycles avec dependency-cruiser ou madge.
S’applique à
  • Structure et décisions

Signal ​

Une dépendance circulaire entre deux modules du domaine de même niveau : A importe B, et B importe A.

Pourquoi ​

Des modules totalement indépendants sont rarement possibles : un modèle implique du couplage. Mais une dépendance à sens unique entre deux modules de même niveau réduit beaucoup ce couplage.

Par exemple, un module money (Money, Currency) ne dépend d’aucun autre module. Tous les autres dépendent de lui, sans cycle.

Exceptions ​

Aucune. Deux aggregates qui se référencent l’un l’autre, comme un titulaire qui ouvre des wallets qui pointent vers lui, vont dans le même module (PLC-04). Un cycle qui subsiste fait l’objet d’un waiver.

Correction ​

  • Inverser l’une des deux dépendances.
  • Extraire le concept partagé dans un module dont les deux dépendent.
  • Revoir le découpage.