Patrons architecturaux.
Des patrons et des méthodes pour concevoir des systèmes complets : modéliser un domaine, séparer lectures et écritures, et guider la conception par les tests ou les spécifications.
Une approche du développement logiciel qui centre la conception sur un modèle riche du domaine métier, exprimé dans un langage partagé par les ingénieurs et les experts du domaine.
Séparer le modèle qui modifie l'état (commandes) du modèle qui lit l'état (requêtes), afin que chaque côté puisse être modélisé, mis à l'échelle et optimisé indépendamment.
Une discipline de développement dans laquelle on écrit un test qui échoue avant le code qui le fait passer, puis on refactorise — en laissant les tests guider la conception au fil de cycles courts et resserrés.
Rédigez d'abord une spécification explicite et faisant autorité, puis pilotez l'implémentation, les tests et le code généré à partir d'elle — en conservant la spec comme unique source de vérité.