BT

Accueil InfoQ Actualités Les Modèles fonctionnels dans la Conception Pilotée par le Domaine

Les Modèles fonctionnels dans la Conception Pilotée par le Domaine

Favoris

La Conception Pilotée par le Domaine réalise un travail important pour encourager les développeurs à créer un modèle de domaine et un langage omniprésent, mais Debasish Ghosh déclare dans un billet de journal à propos des modèles fonctionnels dans la modélisation de domaine, que tenter d'implémenter les concepts DDD en utilisant les principes orientés objet avec un état et un comportement génère souvent un modèle mutable confus.

Debasish, membre senior de l'ACM et auteur de DSLs in Action, soutient qu'un modèle peut être riche dans le sens où tous les concepts liés à une abstraction de domaine spécifique sont situés dans une classe mais que cela rend également la classe plus fragile avec un focus local plutôt que global, de sorte que la composition de toutes les abstractions du domaine peuvent rendre celui-ci trop pollué avec le code uniquement requis pour résoudre les décalages d'impédance entre les limites des classes.

Dans son argumentation, il se réfère à Dean Wampler qui a récemment déclaré que les principes de programmation fonctionnelle peuvent aider à améliorer la conception pilotée par le domaine. Dean proclame que "les modèles devraient être anémiques", encourageant une pratique par laquelle les objets du domaine possèdent uniquement un état et déplaçant le comportement dans des fonctions autonomes.

Une autre déclaration que Debasish réfute est que le regroupement de l'état et du comportement dans une classe augmente l'encapsulation. Au lieu de cela, il pense que la mise en place de comportements de domaine comme des fonctions autonomes conduit à une meilleure modularisation et à une réalisation du modèle de domaine conforme aux principes du DDD. Tous les comportements du domaine sont alors modélisés comme des fonctions dans un module représentant l'agrégat.

Il poursuit avec un exemple de ses billets précédents où il implémentait les modèles DDD de Spécification et d'Agrégat à l'aide des principes de programmation fonctionnelle, en utilisant à présent les modèles fonctionnels et les fonctions comme briques de base pour construire des comportements qui modélisent le langage omniprésent du domaine. Debasish prétend que l'un des principes de DDD est de relever le vocabulaire du modèle de domaine dans votre implémentation de telle sorte que la fonctionnalité devienne apparente durant tout le cycle de vie du système.

Dean Wampler a également délivré une présentation sur un sujet similaire à la conférence React en avril sur les paradigmes de langage et la conception réactive.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Votre profil est-il à jour? Merci de prendre un instant pour vérifier.

Note: en cas de modification de votre adresse email, une validation sera envoyée.

Nom de votre entreprise:
Rôle dans votre entreprise:
Taille de votre entreprise:
Pays/Zone:
État/Province/Région:
Vous allez recevoir un email pour confirmer la nouvelle adresse email. Ce pop-up va se fermer de lui-même dans quelques instants.