La première question n'est pas « quelle structure ? ». C'est « qu'est-ce qui va changer ? ».The first question isn't "what structure?". It's "what is going to change?".
Devant une fonctionnalité, le réflexe du débutant est de choisir un pattern et de le plaquer. Celui de l'architecte est antérieur : repérer, dans le code, ce qui va bouger — et ce qui va rester. Prends un simple calcul de prix. Trois lignes côte à côte, qui semblent du même bloc. Elles changent en réalité à trois vitesses radicalement différentes.Faced with a feature, the beginner's reflex is to pick a pattern and slap it on. The architect's reflex comes first: spot, in the code, what will move — and what will stay. Take a simple price calculation. Three lines side by side, seemingly one block. They actually change at three radically different speeds.
L'architecture ne sert pas l'élégance, elle sert le changement. Un design « beau » qui rend le changement attendu coûteux est mauvais ; un design quelconque qui l'absorbe en une ligne est bon. La seule question qui tranche : quel axe va bouger, et l'ai-je isolé du reste ?Architecture doesn't serve elegance, it serves change. A 'beautiful' design that makes the expected change costly is bad; a plain one that absorbs it in a single line is good. The only question that settles it: which axis will move, and have I isolated it from the rest?
On ne choisit pas un pattern : on identifie l'axe de variation, puis on place la couture exactement là où il passe. Couplage, couches, repository, microservices — tous les numéros qui suivent ne sont que des manières de tenir une couture une fois qu'on sait où la mettre. Avant le pattern, le diagnostic.You don't pick a pattern: you identify the axis of variation, then place the seam exactly where it runs. Coupling, layers, repository, microservices — every issue that follows is just a way to hold a seam once you know where to put it. Before the pattern, the diagnosis.