Votre application a besoin de son jardin secret : attention à la localité de l’information

Architecture logicielle juin 26, 2020

Très souvent on utilise le terme d’application « plat de spaghettis » pour décrire un code fortement couplé. Celui-ci devient très fragile. Le moindre petit changement peut déclencher des bugs au sein de fonctionnalités qui n’ont rien à voir avec la partie modifiée.

Quand, en plus, le nombre de personnes qui travaillent sur le code augmente, vous êtes obligé de commencer à découper votre logiciel en composants. C’est la direction logique qui a été prise par de nombreuses entreprises, pour garder sous contrôle leur production logicielle.

Sauf que vos composants ont besoin de communiquer entre eux. Et là, si vous ne faites pas attention, vous pouvez annuler tous vos efforts en couplant à nouveau vos composants entre eux. Vous vous retrouvez alors avec un « monolithe distribué » : des composants, certes distincts, mais qui ne peuvent pas fonctionner indépendamment les uns des autres. Et quand vous en modifiez un, c’est un composant à l’autre bout du système d’information qui cesse de fonctionner correctement. Retour à la case départ…

En effet derrière les symptômes du « plat de spaghettis » se cache en réalité un problème de dépendances et de couplage entre vos différentes parties du code. Et que ces dépendances soient entre différents composants logiciel ou au sein du même module, le résultat est le même : votre code devient fragile.


Lors d’un meetup Tech.rocks, j’ai pu aborder les erreurs les plus courantes dans la mise en place d’une communication entre vos composants. Et quelles stratégies mettre en oeuvre pour éviter de vous retrouver avec tous vos composants couplés entre eux ?

Cette conférence fait partie d'un cycle sur le domain driven design stratégique, et est la suite de la conférence “Le Domain Driven Design sous l’angle stratégique, une introduction” où j’indiquais comment découper son logiciel en fonction de ses domaines métiers.

Meetup Tech.rocks du 11 juin 2020 (mon intervention démarre à 55min45)

Au début de ce meetup, vous pourrez également retrouver :


Merci à Olga Cojocariu qui m'a aidée dans l'écriture de cet article.

Pour être tenu au courant des prochains articles ou conférences, vous pouvez vous  abonner à la newsletter. Et si vous avez apprécié ce talk, c'est l'occasion de le partager sur twitter, Linkedin, ou sur Slack.

Arnaud LEMAIRE

DDD lover & Code designer, XP practitioner. Deputy CTO @ lgo.group

Super ! Vous vous êtes inscrit avec succès.
Super ! Effectuez le paiement pour obtenir l'accès complet.
Bon retour parmi nous ! Vous vous êtes connecté avec succès.
Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.