DDD : Domain-Driven Design Mixte : présentiel / à distance

Dernière mise à jour : 13/07/2024

Acquérir les pratiques d’une conception logicielle orientée métier

Type : Stage pratique

Description

Le développement logiciel est employé généralement pour automatiser des processus existants ou pour fournir des solutions à des problèmes métier. Le Domain-Driven Design repose sur une idée simple : pour créer un bon logiciel, il est indispensable qu'il reflète le domaine métier pour lequel il est conçu, qu'il en incorpore les concepts, les process, les éléments et qu'il saisisse avec précision, leurs relations. A titre d'exemple, vous ne pouvez pas créer un système logiciel bancaire à moins d'avoir une bonne compréhension du secteur bancaire et de ses métiers.

 

Décrit par Eric Evans dans son ouvrage « Domain-Driven Design : Tackling complexity in the Heart of software », le Domain-Driven Design fournit un cadre solide et un ensemble de techniques décrivant comment modéliser le domaine du logiciel et définir une vision et un langage partagés par toutes les personnes impliquées dans la construction d'une application, afin de mieux en appréhender la complexité.

 

Tout au long de cette formation, vous serez à même de comprendre pourquoi le Domain-Driven Design permet ainsi de maintenir un alignement constant, pas toujours évident, entre les experts métier, les développeurs et le code afin de s'assurer que le logiciel réponde bien à ses objectifs.

Objectifs de la formation

  • Maitriser les concepts et principes clés de l'approche Domain-Driven Design
  • Mettre en œuvre les principes de conception du DDD et savoir appliquer les patterns
  • Utiliser un langage commun à tous les acteurs liés par le développement du logiciel
  • Avoir une expérience concrète d'implémentation de l'approche DDD

Public visé

  • Développeur
  • Architecte
  • Chef de projet
  • Tech lead
  • Scrum master

Prérequis

Pratique de la programmation orientée objet (JAVA, C#). Au cours de la formation, vous pourrez vous servir de votre ordinateur et du langage de programmation que vous utilisez habituellement.

Modalités pédagogiques

Formation pratique, visant à l'acquisition d'un savoir-faire, basée sur un cas pratique ainsi que des échanges et retours d'expérience pratique du formateur. Une session d'Event Storming sera proposée aux participants pour s'approprier les problématiques métier, et suivre une implémentation (en binômes ou tous ensemble).

Profil du / des Formateur(s)

Cette formation est dispensée par un·e ou plusieurs consultant·es d'OCTO Technology ou de son réseau de partenaires, expert·es reconnus des sujets traités.

Le processus de sélection de nos formateurs et formatrices est exigeant et repose sur une évaluation rigoureuse leurs capacités techniques, de leur expérience professionnelle et de leurs compétences pédagogiques.

Modalités d'évaluation et de suivi

L'évaluation des acquis se fait tout au long de la session au travers des ateliers et des mises en pratique.

Afin de valider les compétences acquises lors de la formation, un formulaire d'auto-positionnement est envoyé en amont et en aval de celle-ci.

En l'absence de réponse d'un ou plusieurs participants, un temps sera consacré en ouverture de session pour prendre connaissance du positionnement de chaque stagiaire sur les objectifs pédagogiques évalués.

Une évaluation à chaud est également effectuée en fin de session pour mesurer la satisfaction des stagiaires et un certificat de réalisation leur est adressé individuellement.

Programme

Jour 1 Introduction au DDD

 

CONCEPTS CLÉS DE LA DÉMARCHE

  • Explorer un domaine métier via l'Event Storming
  • Modéliser avec Entities, Value objects et Repositories
  • Modéliser des agrégats (Aggregates)
  • Factories
  • Domain events
  • Domain services
  • Application services

 

CADRE D'UTILISATION

  • Etude de cas
  • Session d'Event Storming pour comprendre et visualiser efficacement le cas métier
  • Domain events
  • Commands
  • External systems
  • Users
  • Réflexion/discussions sur les bounded contexts, aggregates et l'ubiquitous language

 

Jour 2

 

DÉFINITION D'UN MODEL

  • Échanges sur des exemples rencontrés
  • Pièges à éviter

 

IMPLÉMENTATION TECHNIQUE EN BINOMES OU TOUS ENSEMBLE

  • Itération 1 : implémentation des premiers aggregates, entities et value objects
  • Itération 2 : quand un value object doit devenir une entity
  • Itération 3 : émettre un domain event
  • Itération 4 : réagir à un domain event
  • Itération 5 : refactoring pour avoir un meilleur regroupement des classes (bounded context)
  • Itération 6 : interagir avec des objets du domaine via un application de services
  • Itération 7 : stocker les domain events et des aggregates via des repositories

 

SYNTHESE ET RAPPEL DES POINTS CLÉS

Exposé (%)

30.00

Pratique (%)

70.00

Prochaines Sessions

  • 05/12/24 → 06/12/24
    OCTO Academy - PARIS -

Dans la même catégorie

Retour Site