BT

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

| par Jan Stenberg Suivre 34 Abonnés , traduit par Nicolas Frankel Suivre 7 Abonnés le 04 juin 2014. Durée de lecture estimée: 2 minutes |

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

Donnez-nous votre avis

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

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

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

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

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

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT