BT

Vaughn Vernon présente les styles d'architectures avancés dans un contexte DDD

par Jan Stenberg , traduit par Nicolas Fédou le 19 juin 2013 |

Lors d'une présentation sur les styles d'architectures, architecture en couches, architectures hexagonales et le modèle d'acteur, du point de vue du "Domain Driven Design (DDD)", Vaughn Vernon explique que l'architecture hexagonale permet de retarder les prises de décisions concernant les connecteurs et mets en avant l'usage d'APIs internes quelque soit le type de ces connecteurs.

Vaugh Vernon, l'auteur d'Implementing Domain Driven Design, après une courte description de l'émergence de l'architecture comme le résultat naturel du DDD, a continué par une analyse de l'architecture en couches traditionnelle selon le livre du DDD d'Eric Evans avec une interface utilisateur au sommet et une couche d'infrastructure en bas. Un effet indésirable de cette architecture en couches est que l'implémentation, par exemple, des dépôts du domaine (repositories) dans la couche d'infrastructure cassent cette architecture vu que les dépôts dépendent du modèle du domaine. En les déplaçant en haut et en utilisant le principe d’inversion de dépendance pour les injecter, on évite de casser l'architecture et on la rend plus flexible en permettant l'injection de plusieurs implémentations.

Style d'architecture Hexagonal

Vaughn poursuit avec le style d'architecture hexagonal, les ports et les adaptateurs, qui a été crée par Alistair Cockburn. Vaughn voit ce style comme une évolution du style en couche avec deux avantages principaux. Il permet de retarder les décisions pour certaines mécaniques comme le type de persistance à utiliser sans impacter l'avancement de l'implémentation de fonctionnalités. Le point principal étant que penser en termes de ports et d'adaptateurs rend plus facile l'usage d'une même API interne pour différents types de clients.

Une architecture orientée événements peut être dérivée de ce style en décrivant chaque contexte confiné (bounded context) comme étant un hexagone, publiant et écoutant des événements.

Le modèle d'acteur

Dans le modèle d'acteur, chaque objet est un acteur, avec une boite aux lettres et un comportement, qui échange des messages entre acteurs au travers de boites aux lettres. Toute la communication est asynchrone et sans états partagés entre les acteurs. Vaughn trouve ce modèle des plus intéressants et l'expérimente maintenant en appliquant le modèle d'acteur sur un style DDD. Il implémente les agrégats comme des acteurs en profitant de leur état interne naturellement autonome, de l'absence d'état partagé et de la messagerie asynchrone. Ces qualités simplifient grandement l'usage de la concurrence dans des systèmes hautement sollicités.

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

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2013 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT