SlideShare une entreprise Scribd logo
1  sur  29
Feedback on DDD
Europe
1
● Amsterdam, 6-7th Febr 2020
● Guillaume Saint Etienne
Céki ce DéDéDé ?
What DDD is not
• A method
• A framework
• A technique
• A tool
3
Meet DDD people
DDD in a Nutshell
• DDD is not a framework, but it does have a set of building blocks or concepts that
you can incorporate into your solution:
• The Ubiquitous language
• The Domain Model
○ Entities
○ Value objects
○ Aggregates and aggregate roots
• Domain services
• Application services
• Repository
• Onion Layering
• Event Sourcing
5
DDD key principles
• Domain Experts
○ They are the ones who carry the knowledge which defines the problem and what the output of the
software should be in order to be considered a complete solution, and they can define acceptance
tests for this software
• Ubiquitous Language
○ When developing software it is important that the domain experts and the developers would create a
language of expressions and common phrases that define the system's model and interactions.
○ Bounded to context
• Bounded Contexts
○ Bounded contexts are, in their hearts, the application of the Separation of Concerns principle on the
domain level.
○ Enforces the Model integrity
○ They are to be designed
○ In close relationship with the Ubiquitous Language -> Linguistic / semantic boundaries
○ Ownership boundaries, physical boundaries
9
Let’s dive in!
Bounded contexts
Prestation Santé
Prestation
Prévoyance
Prévention
Prestation Santé Refined
Prestation Prévoyance
Refined
PréventionRefined
ANALYSE
Sub Domains
14
Domain Distillation Techniques
• Core Domain
• Supporting Domains
• Generic Subdomains
○ Generic Subdomains are the parts of your system which are challenging and required but they are not the
core of the domain.
■ Using of The Shelf Software
■ Using a Generic/Standardized Domain Model:
■ Outsourcing The Subdomain
■ In-house development
15
Bounded contexts
Prestation Santé
Prestation
Prévoyance
Prévention
Prestation Santé Refined
Prestation Prévoyance
Refined
PréventionRefined
ANALYSE
ACL
ACL
ACL
ACL
Dépendance
https://philippe.bourgau.net/how-to-prepare-a-ddd-big-picture-event-storming-workshop/
Invite the right people
Provide unlimited modeling space
Explore the domain starting from Domain
Events
Explore the origin of Domain Events
Look for Aggregates
Sketching User Personas
Sketching Key Acceptance Tests
Exploring Subdomains
Exploring Bounded
Contexts
Hexagonal Architecture
• Conduct Event Storming
• Conduct Impact Mapping / Story
Mapping
• Do Wardley maps
• Design and Code the Models and Sub
Models
• Put an Hexagonal Architecture in place
• Release small micro services & front
end
• Put ACL in place = Anti Corruption
Layers
26
Core
Model
Event App Service
Event Controller
Inner
Outer
Event Repository
(Mongo) Repository
DB
Regulated
Domain
27
28
29

Contenu connexe

Similaire à Feedback on DDD Europe - short -event storming.pptx

Similaire à Feedback on DDD Europe - short -event storming.pptx (20)

Needs of Other November2011
Needs of Other November2011Needs of Other November2011
Needs of Other November2011
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introduction
 
Dev ops days berlin damien caro
Dev ops days berlin   damien caroDev ops days berlin   damien caro
Dev ops days berlin damien caro
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
 
Domain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic ApproachDomain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic Approach
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
 
Applying Domain-Driven Design to craft Rich Domain Models
Applying Domain-Driven Design to craft Rich Domain ModelsApplying Domain-Driven Design to craft Rich Domain Models
Applying Domain-Driven Design to craft Rich Domain Models
 
It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny day
 
Friday final test
Friday final testFriday final test
Friday final test
 
Codurance Courses: Crafted Design
Codurance Courses: Crafted DesignCodurance Courses: Crafted Design
Codurance Courses: Crafted Design
 
Domain Driven Design Ruby Ways - JURNAL 05/10/2017
Domain Driven Design Ruby Ways -  JURNAL 05/10/2017Domain Driven Design Ruby Ways -  JURNAL 05/10/2017
Domain Driven Design Ruby Ways - JURNAL 05/10/2017
 
Open Source in Storage -- Myth or Reality?
Open Source in Storage -- Myth or Reality?Open Source in Storage -- Myth or Reality?
Open Source in Storage -- Myth or Reality?
 
Introduction to Domain-Driven Design
Introduction to Domain-Driven DesignIntroduction to Domain-Driven Design
Introduction to Domain-Driven Design
 
Targeted documentation STC Houston, Mar 20, 2012
Targeted documentation   STC Houston, Mar 20, 2012Targeted documentation   STC Houston, Mar 20, 2012
Targeted documentation STC Houston, Mar 20, 2012
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...
 
Online TechTalk  "Patterns in Embedded SW Design"
Online TechTalk  "Patterns in Embedded SW Design"Online TechTalk  "Patterns in Embedded SW Design"
Online TechTalk  "Patterns in Embedded SW Design"
 
Design guidelines for android developers
Design guidelines for android developersDesign guidelines for android developers
Design guidelines for android developers
 
Mobile application development strategy and execution
Mobile application development   strategy and executionMobile application development   strategy and execution
Mobile application development strategy and execution
 
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
 

Plus de Guillaume Saint Etienne

Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...
Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...
Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...
Guillaume Saint Etienne
 
Electronic Music and Software Craftsmanship: analogue patterns.
Electronic Music and Software Craftsmanship: analogue patterns.Electronic Music and Software Craftsmanship: analogue patterns.
Electronic Music and Software Craftsmanship: analogue patterns.
Guillaume Saint Etienne
 

Plus de Guillaume Saint Etienne (20)

Ecologie du Logiciel (Craft Luxembourg 2022).pdf
Ecologie du Logiciel (Craft Luxembourg 2022).pdfEcologie du Logiciel (Craft Luxembourg 2022).pdf
Ecologie du Logiciel (Craft Luxembourg 2022).pdf
 
musique electronique au cinéma.pptx
musique electronique au cinéma.pptxmusique electronique au cinéma.pptx
musique electronique au cinéma.pptx
 
DDD FOR POs.pdf
DDD FOR POs.pdfDDD FOR POs.pdf
DDD FOR POs.pdf
 
Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...
Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...
Tout ce que vous avez voulu savoir sur les Doublures sans jamais oser le dema...
 
des algoritmes et des hommes (ethique et code).pdf
des algoritmes et des hommes (ethique et code).pdfdes algoritmes et des hommes (ethique et code).pdf
des algoritmes et des hommes (ethique et code).pdf
 
La crise Agile chez les Developpeurs (AGrenoble2019) (1).pdf
La crise Agile chez les Developpeurs (AGrenoble2019) (1).pdfLa crise Agile chez les Developpeurs (AGrenoble2019) (1).pdf
La crise Agile chez les Developpeurs (AGrenoble2019) (1).pdf
 
How we can BUILD.pdf
How we can BUILD.pdfHow we can BUILD.pdf
How we can BUILD.pdf
 
des mutants dans le code.pdf
des mutants dans le code.pdfdes mutants dans le code.pdf
des mutants dans le code.pdf
 
_(V3.0) Aux sources de la simplicité Bordeaux 2022.pptx
_(V3.0) Aux sources de la simplicité Bordeaux 2022.pptx_(V3.0) Aux sources de la simplicité Bordeaux 2022.pptx
_(V3.0) Aux sources de la simplicité Bordeaux 2022.pptx
 
Il n’y a pas de bons développeurs.pptx
Il n’y a pas de bons développeurs.pptxIl n’y a pas de bons développeurs.pptx
Il n’y a pas de bons développeurs.pptx
 
Living Documentation (TDD, BDD).pptx
Living Documentation (TDD, BDD).pptxLiving Documentation (TDD, BDD).pptx
Living Documentation (TDD, BDD).pptx
 
Agile pour l'echafaud ATT2020.pptx
Agile pour l'echafaud ATT2020.pptxAgile pour l'echafaud ATT2020.pptx
Agile pour l'echafaud ATT2020.pptx
 
10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx
 
Vendredi Tech_ la programmation fonctionnelle.pptx
Vendredi Tech_ la programmation fonctionnelle.pptxVendredi Tech_ la programmation fonctionnelle.pptx
Vendredi Tech_ la programmation fonctionnelle.pptx
 
Crise agile chez les développeurs (frug agile 2020)
Crise agile chez les développeurs (frug agile 2020)Crise agile chez les développeurs (frug agile 2020)
Crise agile chez les développeurs (frug agile 2020)
 
My feedback on ddd europe
My feedback on ddd europeMy feedback on ddd europe
My feedback on ddd europe
 
Electronic Music and Software Craftsmanship: analogue patterns.
Electronic Music and Software Craftsmanship: analogue patterns.Electronic Music and Software Craftsmanship: analogue patterns.
Electronic Music and Software Craftsmanship: analogue patterns.
 
Tdd vs SQL
Tdd vs SQLTdd vs SQL
Tdd vs SQL
 
Clean architectures
Clean architecturesClean architectures
Clean architectures
 
Services & Contrats Agiles
Services & Contrats AgilesServices & Contrats Agiles
Services & Contrats Agiles
 

Dernier

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Dernier (20)

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 

Feedback on DDD Europe - short -event storming.pptx

  • 1. Feedback on DDD Europe 1 ● Amsterdam, 6-7th Febr 2020 ● Guillaume Saint Etienne
  • 3. What DDD is not • A method • A framework • A technique • A tool 3
  • 5. DDD in a Nutshell • DDD is not a framework, but it does have a set of building blocks or concepts that you can incorporate into your solution: • The Ubiquitous language • The Domain Model ○ Entities ○ Value objects ○ Aggregates and aggregate roots • Domain services • Application services • Repository • Onion Layering • Event Sourcing 5
  • 6.
  • 7.
  • 8.
  • 9. DDD key principles • Domain Experts ○ They are the ones who carry the knowledge which defines the problem and what the output of the software should be in order to be considered a complete solution, and they can define acceptance tests for this software • Ubiquitous Language ○ When developing software it is important that the domain experts and the developers would create a language of expressions and common phrases that define the system's model and interactions. ○ Bounded to context • Bounded Contexts ○ Bounded contexts are, in their hearts, the application of the Separation of Concerns principle on the domain level. ○ Enforces the Model integrity ○ They are to be designed ○ In close relationship with the Ubiquitous Language -> Linguistic / semantic boundaries ○ Ownership boundaries, physical boundaries 9
  • 11. Bounded contexts Prestation Santé Prestation Prévoyance Prévention Prestation Santé Refined Prestation Prévoyance Refined PréventionRefined ANALYSE
  • 12.
  • 14. 14
  • 15. Domain Distillation Techniques • Core Domain • Supporting Domains • Generic Subdomains ○ Generic Subdomains are the parts of your system which are challenging and required but they are not the core of the domain. ■ Using of The Shelf Software ■ Using a Generic/Standardized Domain Model: ■ Outsourcing The Subdomain ■ In-house development 15
  • 16. Bounded contexts Prestation Santé Prestation Prévoyance Prévention Prestation Santé Refined Prestation Prévoyance Refined PréventionRefined ANALYSE ACL ACL ACL ACL Dépendance
  • 18.
  • 19. Invite the right people Provide unlimited modeling space Explore the domain starting from Domain Events Explore the origin of Domain Events Look for Aggregates Sketching User Personas Sketching Key Acceptance Tests
  • 20.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Hexagonal Architecture • Conduct Event Storming • Conduct Impact Mapping / Story Mapping • Do Wardley maps • Design and Code the Models and Sub Models • Put an Hexagonal Architecture in place • Release small micro services & front end • Put ACL in place = Anti Corruption Layers 26 Core Model Event App Service Event Controller Inner Outer Event Repository (Mongo) Repository DB Regulated Domain
  • 27. 27
  • 28. 28
  • 29. 29