BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

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

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

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.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT