Jour 2 - Introduction à la Conception Orientée Domaine (DomainDriven Design - DDD)
Langage Ubiquitaire (Ubiquitous Language)
Le Langage Ubiquitaire (ou Ubiquitous Language en anglais) est un concept clé du Domain-Driven Design (DDD), une approche de conception logicielle qui vise à aligner le modèle de conception d’un logiciel avec le domaine métier auquel il appartient. Le Langage Ubiquitaire est un langage partagé et compris par toutes les parties prenantes du projet, y compris les développeurs, les experts du domaine, les utilisateurs finaux et d’autres membres de l’équipe.Voici quelques points importants à retenir sur le Langage Ubiquitaire :
Le Langage Ubiquitaire est un langage commun utilisé par toutes les personnes impliquées dans le projet, des développeurs aux experts du domaine en passant par les utilisateurs finaux. Il s’agit de créer un langage partagé qui favorise la communication efficace et la compréhension mutuelle entre toutes les parties prenantes.
Le Langage Ubiquitaire est spécifiquement conçu pour refléter le vocabulaire et les concepts du domaine métier auquel appartient le logiciel. Il permet aux développeurs de comprendre et de modéliser les concepts métier de manière précise et efficace, en évitant les ambiguïtés et les malentendus.
En utilisant un Langage Ubiquitaire bien défini et partagé, les équipes de développement peuvent créer des modèles de conception logicielle qui sont plus faciles à comprendre, à maintenir et à faire évoluer au fil du temps. Cela permet également de réduire le risque de divergence entre le modèle métier et le code implémenté.
Le Langage Ubiquitaire aide à exprimer le modèle métier de manière explicite dans le code source, en utilisant des termes et des concepts familiers aux experts du domaine. Cela rend le code plus compréhensible et plus proche de la réalité métier, ce qui facilite la collaboration et la validation avec les parties prenantes.En résumé, le Langage Ubiquitaire est un outil essentiel dans le processus de conception logicielle, en favorisant la communication efficace, en alignant le modèle de conception avec le domaine métier et en rendant le code plus compréhensible et maintenable. Son adoption contribue à la réussite des projets logiciels en garantissant une compréhension partagée et une collaboration fructueuse entre toutes les parties impliquées.