Tout se rattrape, sauf la modularité
Une bonne modularité vous permet de supporter une piètre qualité logicielle localement et d'améliorer les choses ultérieurement sans tout casser.
Une bonne modularité vous permet de supporter une piètre qualité logicielle localement et d'améliorer les choses ultérieurement sans tout casser.
Un ORM vous propose de bâtir le domaine sur des entités qu'il expose, directement mappées à la base de données. Le contraire de l'Architecture Hexagonale.
L'absence de modularité coûte cher. Investir dans une architecture modulaire protège votre logiciel et évite des pertes financières massives.
Un modèle n’est jamais une représentation fidèle de la réalité, mais une abstraction conçue pour un objectif précis. Un modèle n’existe que par son usage.
L'Architecture hexagonale, formalisée par Alistair Cockburn, vise à isoler le domaine. Elle repose sur l'inversion et l'injection des dépendances.
Le CQRS repose sur l'idée de distinguer les modèles d'écriture et de lecture, quand les opérations sont fortement asymétriques. À utiliser avec parcimonie.
« The job of an architect is to build a structure that allows decisions to be delayed as long as possible » : 5 exemples illustrant le propos d'Uncle Bob.
On ne s'adresse pas à tous les utilisateurs de la même manière. À chaque persona son langage, et donc son contexte, et son BFF (Backend For Frontend).
Vous n'avez probablement pas besoin de ces microservices, si difficiles à déployer. Le monolithe, à condition qu'il soit modulaire, est fait pour vous.
2 erreurs courantes du découpage en Bounded Contexts : le découpage en couches techniques et le découpage par entités. Pensez verbes d'action !
L'Architecture Hexagonale vise à isoler l'application et le domaine de l'infrastructure. Le prix à payer, c'est que l'infrastructure connaît le domaine.
Travaillez d'abord la modularité du système à grande échelle (DDD stratégique). Les patterns tactiques ont leur importance, mais ils viennent après.
EDA : une modalité de communication favorisant le découplage des contextes ; ES : un modèle d'écriture dédié à la traçabilité au sein d'un contexte.