Tranches verticales, leur propriété et leurs dépendances externes
- Publié sur Oskar Dudycz
- Sélectionné le
Certaines questions concernant les tranches verticales reviennent sans cesse, et ce sont d'excellentes questions.
- Si une tranche traverse toutes les couches, obtient-on une table par tranche ?
- Si je divise l'application en sept zones, s'agit-il de sept contextes délimités ou de sept sous-ensembles d'un même contexte ? Et la réponse change-t-elle ce qu'ils sont autorisés à savoir les uns des autres ?
- Comment une tranche « vérifier la commande » peut-elle contrôler ce qu'a écrit une tranche « enregistrer la commande », si les deux ne sont pas censées se connaître ?
- Où doit se trouver le code de récupération lorsque un écran a besoin de données appartenant à un autre module, et que les règles de dépendance bloquent tous les endroits où nous pourrions le placer ?
- Un composant d'interface utilisateur doit-il être informé de l'appel API effectué par un composant voisin ?
Pour moi, ce sont toutes des variantes d'une même question : que fait une tranche lorsqu'elle a besoin de quelque chose du monde extérieur ?
Qualifier chaque zone d'une application de contexte délimité impose une séparation maximale, car les contextes sont par essence autonomes. Dès lors, toute connexion entre deux contextes quelconques est perçue comme une violation, et les autres questions restent sans réponse légale.