Domain-Drive Design Flashcards
Quelles sont les deux composantes fondamentales pour avoir une modélisation viable ?
Il faut que sa construction soit itérative, et que les développeurs aient une très bonne communication avec les experts du domaine.
Qu’est ce que l’analyse paralysante ?
C’est quand on a trop de documents inutiles, trop de specs en avance, et que cela nous bloque pour avancer.
Qu’est ce qu’un modèle ?
Une connaissance sélectionnée, simplifiée et structurée d’un élément d’un domaine.
Qu’est ce qu’une modélisation ?
Le fait de lier plusieurs modèles entre eux afin de créer un ensemble représentant le domaine.
Par qui le modèle doit être compris ?
Par tous les gens de l’entreprise. Ce doit être un langage commun.
Comment les modèles doivent ils être conçus ?
Par le knowledge crunching (du brainstorming avec les experts du domaine et les développeurs), et de l’itération (des expérimentations)
Qu’est ce qu’un langage ubiquitaire ?
C’est quand on utilise le même vocabulaire entre experts et développeurs.
Que permet d’éviter le langage ubiquitaire ?
Les traductions entre les services, ce qui amène à une incompréhension du modèle.
Qu’induit un changement du langage ubiquitaire ?
Un refactoring dans le code.
Qu’est ce qui ne fait pas parti du langage ubiquitaire ?
Les termes techniques (patterns, code…), les termes business qui sont inconnus au développeur.
Que faut il éviter avec les diagrammes UML ?
Qu’ils contiennent trop d’informations. Il faut éviter les implémentations techniques dedans (signatures des fonctions par ex, type des variables..)
Peut on représenter tout le domaine via UML ?
C’est impossible : trop gros, complétement indigeste pour tout le monde. Il faut faire une belle doc qui va séparer en petits diagrammes.
Que doit faire la documentation ?
Compléter le code et la parole. Avoir une vision en hauteur, sans trop rentrer dans les détails. Apprendre pas à pas la modélisation.
Que doit on faire au niveau du code avec le langage ubiquitaire ?
Utiliser le même vocabulaire partout, même pour nos classes.
Qui doit faire la conception des logiciels ?
Les développeurs qui vont réaliser le logiciel. Ce sont les lead développeurs qui vont lier la modélisation du domaine avec la conception du logiciel.