SlideShare a Scribd company logo
1 of 114
Thinking in DDD
Grégory BOISSINOT
2017 April 25
DDD
IS AN APPROACH
TO SOFTWARE DESIGN
FOR COMPLEX NEEDS
Outline
• Software Design activity
• Software Projects issues
• DDD approach
• Explore the problem space with Collaborative Design
• Implement the solution space with Strategic Design & Tactical
Design
SOFTWARE DESIGN
DESIGN IS MAKING DECISIONS
CONTEXT MATTERSCONTEXT MATTERS
MAKING DECISIONS
TO BUILD USEFUL
PRODUCTS
AGILE IS HOW YOU ORGANIZE
TO GET THE WORK DONE
AGILE IS HOW YOU ORGANIZE
TO GET THE WORK DONE
GETTING WORK DONE IS TO
DESIGN
LOTS OF FAILURES HAPPENING
ON SOFTWARE PROJECTS
SCRUM PRODUCT BACKLOG AS PROCESS EXCELLENCE
PRESSURE TO DELIVER
SOFTWARE RELEASES
ON A RELENTLESS
SCHEDULE
A LACK OF DESIGN
Language
Framework
Library
Infra
JUMP INTO SPACE SOLUTION
TOO QUICKLY
RESUME-DRIVEN DESIGN
POOR COLLABORATION
ANALYSIS MODEL CODE	MODEL
POOR SYNCHRONIZATION
BETWEEN MODELS
Initial product incarnation
fast to produce
without care and
consideration
It works but no one knows how
A lack of organization
DATA MODELS
INSTEAD OF
DOMAIN MODELS
Database centric Architecture
CLIENT CONTACT
Code created without a common language
Different terms
VS
ROOM
- name
ROOM
- building
- floor
- capacity
- lighting
- air conditioner
Code created without a common language
The same term but with different meaning
VS
OUR ORGANISATIONAL
AND TECHNICAL DESIGNS
DO NOT ALIGN WITH
THE PROBLEM DOMAIN
AN ALIGNMENT CRISIS
BIG BALL OF MUD
DOMAIN
DRIVEN
DESIGN
THE MOST SIGNIFICANT COMPLEXITY
IN SOFTWARE DESIGN IS NOT
TECHNICAL
“Critical Complexity of most
software projects
is in understanding
the domain itself “
Eric Evans
THE DOMAIN
THE PROBLEM AREA
The reality
PROBLEM
SPACE
THE DOMAIN
IS A
SPHERE OF KNOWLEDGE
SOFTWARE
COMPLEXITY
DOMAIN
LOGIC
COMPLEXITY
LEGACY
CODE
COMPLEXITY
+
COMPLEXITY
FROM
TECHNICAL
SOLUTION
DOMAINS ARE BASED ON A MODEL
THE DOMAIN MODEL
Domain
Knowledge
Rich in
Domain Model
SOLUTION
SPACE
Domain
Domain Model
The reality
An abstraction of reality
designed to manage
complexity for specific
business cases
A projection
of the Real Domain
THE PROBLEM SPACE THE SOLUTION SPACE
DDD
as a
bridge
PROBLEM
SPACE
SOLUTION
SPACE
DDD CREATES
HIGH ALIGNMENT
DDD IS ABOUT CREATING SHARED
UNDERSTANDING
OF THE PROBLEM SPACE
MAKE THE IMPLICIT EXPLICIT
BOUND BY
LANGUAGE
EXPRESSED AS
DIAGRAMS
EXPRESSED IN
CONVERSATION
EXPRESSED AS
DOCUMENTATION
EXPRESSED AS
CODE
A UBIQUITOUS LANGUAGE
IS AT THE HEART OF GOOD DESIGN
BUSINESS GLOSSARY
BUSINESS GLOSSARY
OF THE UBIQUITOUS TERMS
BUSINESS GLOSSARY
AS A SHARED DOCUMENT
USED AND MAINTAINED BY
THE WHOLE PRODUCT TEAM
ANALYSIS MODEL CODE	MODEL
GOOD SYNCHRONIZATION
BETWEEN MODELS
Ubiquitous
Language
COLLABORATIVE
MODELING
STRATEGIC
DESIGN
TACTICAL
DESIGN
COLLABORATIVE
MODELING
STRATEGIC
DESIGN
TACTICAL
DESIGN
THE PROBLEM SPACE
EXPLORE THE PROBLEM SPACE
DISCOVERING
THE PRODUCT MISSION
STAY IN SYNERGY
WITH THE VALUES OF
THE SOFTWARE AND THE BUSINESS
BUSINESS MODEL CANVAS
TAKE ALL TEAMS ON BOARD
MANY EXPLORATING
TECHNIQUES
BUSINESS USERS ARE BUSY PEOPLE
Jeff
Patton
Alberto
Brandolini
Eric Evans
COLLABORATION
AND CONSTRUCTION
OF UBIQUITOUS LANGUAGE
THAT MAKES DDD SO POWERFUL
Event Storming
Domain
Event
Command
Actor Question ?
Event Storming Mechanisms
CLARIFYING QUESTIONS
‣ What do you mean by … ?
‣ What might lead someone to do / need .. ?
‣ What else might happen ...?
BREAK
THE PROBLEM & THE COMPLEXITY
DOWN
NOT ALL THE PARTS OF THE
PROBLEM ARE EQUAL
UNDERSTANDING BOUNDARIES
“There are no rules for determining
service boundaries“
Udi Dahan
FINDING
NATURAL BOUNDARIES
DOMAIN TERMINOLOGY BOUNDARIES
BEEF CUTS
LINGUISTIC BOUNDARIES
AUTONOMY BOUNDARIES
OTHER HEURISTICS BOUNDARIES
Data
Uniqueness
Existing
Team
Boundaries
Business
Experts
Bottlenecks
Exclusive
Domain
Experts
BREAK DOWN
INTO SMALLER DDD SUBDOMAINS
A car system subdomains
Subdomains of a book e-commerce platform
LibraryMembership
Payments
Customer
Support
Shipping
Marketing
YOU CAN'T EQUALLY SPREAD
EFFORT AND QUALITY
THROUGHOUT THE ENTIRE SYSTEM
‣ WHAT ARE THE PARTS OF THE PRODUCT
THAT WILL MAKE IT A SUCCESS ?
‣ WHY ARE THESE PARTS OF THE SYSTEM
IMPORTANT ?
‣ WHY CAN’T THEY BE BOUGHT OFF THE
SHELF ?
YOU NEED TO UNDERSTAND THE
BUSINESS STRATEGY
Domain
Knowledge
Supporting
Subdomains
Generic
Subdomains
Core
Domains
relationships
relationships
Distilled
into
CONTRACTING
“SECRET SOURCE”
GENERIC
SUBDOMAIN
SUPPORTING
SUBDOMAIN
CORE
SUBDOMAIN
OFF-THE-SHELF
PACKAGES
(OSS LIBS, COTS)
Paper justifying why the
product is a good idea
Whiteboard
with salient points
Shared understanding
of what is core
CAPTURE THE CORE DOMAINS VISION
A car system subdomains
Partitioned subdomains of
a book e-commerce platform
BookMembership
Payments
Customer
Support
Shipping
Marketing
(Core Domain)
(Generic Domain)
(Supporting Domain)
(Generic Domain)
(Supporting Domain)
(Core Domain)
TREAT YOUR CORE DOMAIN
AS A PRODUCT
THE CORE DOMAIN
REQUIRES YOUR
BEST DEVELOPERS
DESGIN THE PRODUCT
IN THE SOLUTION SPACE
Ideally, one-to-one mapping
between domain models and subdomains
BookMembership
Payments
Customer
Support
Shipping
Marketing
(Core Domain)
(Generic Domain)
(Supporting Domain)
(Generic Domain)
(Supporting Domain)
(Core Domain)
Regular
shipping
Priority
shipping
MODEL-DRIVEN DESIGN IS HARD
MULTIPLE MODELS
CRUD
Domain
Model
Transaction
script Anemic
CQRS
Rich object-oriented
model
CHOOSE
THE RIGHT MODEL
KEEP THE CODE MODEL CLEAN
OF TECHNICAL CONCERNS
AND FOCUS ON THE DOMAIN
THE PRODUCT VIEW WITH DDD
The Domain Model
The application layer
is the client of the
domain layer and
represent the use
case of the product
The logic layer (application Service)
represents the logic processes and
concepts of the domain
infrastructure
UI
CUSTOMER
<< Authentication
Context >>
User/Mdp
<< Orders Context >>
Method of payment
<< Reviewer
Context>>
Nb of stars
BUSINESS
USE CASE BUSINESS
USE CASE
BUSINESS
USE CASE
LARGE AMBIGIOUS MODEL
DOMAIN
MODEL
BOUNDED
CONTEXT
USER
AUTHENTICATION
BOUNDED CONTEXT
CUSTOMER
ORDERS
BOUNDED CONTEXT
REVIEWER
EVALUATION
BOUNDED CONTEXT
DIVIDE LARGE AND COMPLEX MODEL
INTO BOUNDED CONTEXTS
SERVICE
PRIORITY
BOUNDED CONTEXT
SERVICE
PAYMENT
BOUNDED CONTEXT
SERVICE
REGULAR
BOUNDED CONTEXT
SERVICE
PROMOTION
BOUNDED CONTEXT
ALIGNMENT WITH THE BUSINESS VISION FOR THE E-BOOK PLATFORM
COLLABORATIVE
MODELING
STRATEGIC
DESIGN
TACTICAL
DESIGN
USER INTERFACE
BOUNDED CONTEXT A BOUNDED CONTEXT B
BOUNDED CONTEXT
USERINTERFACE
OUR SYSTEM AS A COLLECTION OF BOUNDED CONTEXTS
A TEAM OF PROFESSIONALS
WHICH OWNS THE CONTEXT
WILL MAKE GOOD CHOICES
BOUNDED CONTEXT
IS OWNED ENTIRELY
BY ONE PRODUCT TEAM
UI
+
SERVICE
DB
PRIORITY
BOUNDED CONTEXT
UI
+
SERVICE
DB
PAYMENT
BOUNDED CONTEXT
UI
+
SERVICE
DB
REGULAR
BOUNDED CONTEXT
UI
+
SERVICE
DB
PROMOTION
BOUNDED CONTEXT
Aligning with the business vision & BC segregation
AUTONOMY CONTEXT
AUTONOMY CONTEXT
ENCOURAGES LEADERSHIP,
INNOVATION
SIMPLE RULES FOR COMMUNICATION
BETWEEN BOUNDED CONTEXTS
DDD
MAXIMISES OUR ABILITY TO
DELIVERY VALUE TO COSTUMERS
DDD
MAXIMISES OUR ABILITY TO
DELIVERY VALUE TO CUSTOMERS
AND REDUCES COST
ARCHITECTURE TOOLS THAT
SUPPORT DDD
Cusomer
Support
Shipment
Payment
Marketing
Book
Membership
Marketing Book
Payment
Shipping
Membership
Customer
Support
Reporting
Custom functional
delivery team
Flow of information
Cross cutting
Context Map
Third Party
Context
Shipping
Context
Pricing
Context
Legacy
Context
Listing
Book
Context
Loyalty
Subdomain
Open Host
Service
Downstream
Partenership
Upstream
Upstream
DownstreamUpstream
Anti Corruption
Layer
Context Map with integration strategies
MICROSERVICES
UI
+
SERVICE
DB
PRIORITY
MICROSERVICE
UI
+
SERVICE
DB
PAYMENT
MICROSERVICE
UI
+
SERVICE
DB
REGULAR
MICROSERVICE
UI
+
SERVICE
DB
PROMOTION
MICROSERVICE
AUTONOMY CONTEXTS ARE MICROSERVICES
CONCLUSION
‣ Design is the art of trade-off
‣ DDD enhances synergy and alignment between teams
‣ DDD focus on main concepts :
‣ Ubiquitous Language,
‣ Bounded Context,
‣ Core Domains
CONCLUSION
QUESTIONS

More Related Content

What's hot

Domain Driven Design in an Agile World
Domain Driven Design in an Agile WorldDomain Driven Design in an Agile World
Domain Driven Design in an Agile WorldLorraine Steyn
 
How to Implement Domain Driven Design in Real Life SDLC
How to Implement Domain Driven Design  in Real Life SDLCHow to Implement Domain Driven Design  in Real Life SDLC
How to Implement Domain Driven Design in Real Life SDLCAbdul Karim
 
Domain-Driven Design: The "What" and the "Why"
Domain-Driven Design: The "What" and the "Why"Domain-Driven Design: The "What" and the "Why"
Domain-Driven Design: The "What" and the "Why"bincangteknologi
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Alan Christensen
 
Modelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven DesignModelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven DesignNaeem Sarfraz
 
Introduction to Domain Driven Design
Introduction to Domain Driven DesignIntroduction to Domain Driven Design
Introduction to Domain Driven DesignChristos Tsakostas
 
ZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignBradley Holt
 
Domain Driven Design - Building Blocks
Domain Driven Design - Building BlocksDomain Driven Design - Building Blocks
Domain Driven Design - Building BlocksMark Windholtz
 
DDD Basics - Context mapping
DDD Basics - Context mappingDDD Basics - Context mapping
DDD Basics - Context mappingStijn Volders
 
Sunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverSunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverCyrille Martraire
 
Domain Driven Design(DDD) Presentation
Domain Driven Design(DDD) PresentationDomain Driven Design(DDD) Presentation
Domain Driven Design(DDD) PresentationOğuzhan Soykan
 
Domain Driven Design Quickly
Domain Driven Design QuicklyDomain Driven Design Quickly
Domain Driven Design QuicklyMariam Hakobyan
 
Domain Driven Design Development Spring Portfolio
Domain Driven Design Development Spring PortfolioDomain Driven Design Development Spring Portfolio
Domain Driven Design Development Spring PortfolioSrini Penchikala
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignFrank Levering
 
Domain Driven Design Communication Techniques
Domain Driven Design Communication TechniquesDomain Driven Design Communication Techniques
Domain Driven Design Communication TechniquesMark Windholtz
 
Domain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal ArchitectureDomain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal ArchitectureCrishantha Nanayakkara
 
Domain Driven Design - DDDSydney 2011
Domain Driven Design - DDDSydney 2011Domain Driven Design - DDDSydney 2011
Domain Driven Design - DDDSydney 2011thinkddd
 

What's hot (20)

Domain Driven Design in an Agile World
Domain Driven Design in an Agile WorldDomain Driven Design in an Agile World
Domain Driven Design in an Agile World
 
How to Implement Domain Driven Design in Real Life SDLC
How to Implement Domain Driven Design  in Real Life SDLCHow to Implement Domain Driven Design  in Real Life SDLC
How to Implement Domain Driven Design in Real Life SDLC
 
Domain-Driven Design: The "What" and the "Why"
Domain-Driven Design: The "What" and the "Why"Domain-Driven Design: The "What" and the "Why"
Domain-Driven Design: The "What" and the "Why"
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
 
Modelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven DesignModelling a complex domain with Domain-Driven Design
Modelling a complex domain with Domain-Driven Design
 
Introduction to Domain Driven Design
Introduction to Domain Driven DesignIntroduction to Domain Driven Design
Introduction to Domain Driven Design
 
ZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven Design
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Domain Driven Design - Building Blocks
Domain Driven Design - Building BlocksDomain Driven Design - Building Blocks
Domain Driven Design - Building Blocks
 
DDD Basics - Context mapping
DDD Basics - Context mappingDDD Basics - Context mapping
DDD Basics - Context mapping
 
Sunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverSunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft Forever
 
Domain Driven Design(DDD) Presentation
Domain Driven Design(DDD) PresentationDomain Driven Design(DDD) Presentation
Domain Driven Design(DDD) Presentation
 
Domain Driven Design Quickly
Domain Driven Design QuicklyDomain Driven Design Quickly
Domain Driven Design Quickly
 
Domain Driven Design Development Spring Portfolio
Domain Driven Design Development Spring PortfolioDomain Driven Design Development Spring Portfolio
Domain Driven Design Development Spring Portfolio
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven Design
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Domain Driven Design Communication Techniques
Domain Driven Design Communication TechniquesDomain Driven Design Communication Techniques
Domain Driven Design Communication Techniques
 
Domain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal ArchitectureDomain Driven Design and Hexagonal Architecture
Domain Driven Design and Hexagonal Architecture
 
Domain Driven Design - DDDSydney 2011
Domain Driven Design - DDDSydney 2011Domain Driven Design - DDDSydney 2011
Domain Driven Design - DDDSydney 2011
 

Similar to SOAT Agile Day 2017 DDD

Finding balance of DDD while your application grows
Finding balance of DDD while your application growsFinding balance of DDD while your application grows
Finding balance of DDD while your application growsCarolina Karklis
 
Up to speed in domain driven design
Up to speed in domain driven designUp to speed in domain driven design
Up to speed in domain driven designRick van der Arend
 
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan Orme
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan OrmeBizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan Orme
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan OrmeMark A
 
Domain driven design simplified
Domain driven design simplifiedDomain driven design simplified
Domain driven design simplifiedVinod Wilson
 
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 ApproachPanagiotis Papaioannou
 
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 ApproachPanagiotis Papaioannou
 
Introduction to Domain-Driven Design
Introduction to Domain-Driven DesignIntroduction to Domain-Driven Design
Introduction to Domain-Driven DesignR-P-Azevedo
 
Org Design for Design Orgs - The Workshop
Org Design for Design Orgs - The WorkshopOrg Design for Design Orgs - The Workshop
Org Design for Design Orgs - The WorkshopPeter Merholz
 
Event Storming #10 DDDGreece
Event Storming #10 DDDGreeceEvent Storming #10 DDDGreece
Event Storming #10 DDDGreeceAntonios Klimis
 
IPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DIIPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DIRobert Lemke
 
Design Systems: Enterprise UX Evolution
Design Systems: Enterprise UX EvolutionDesign Systems: Enterprise UX Evolution
Design Systems: Enterprise UX EvolutionAnne Grundhoefer
 
Improving software economics
Improving software economicsImproving software economics
Improving software economicsdeep sharma
 
AlphaSimple product pitch
AlphaSimple product pitchAlphaSimple product pitch
AlphaSimple product pitchRafael Chaves
 
Exploring a Designer and Developer Workflow
Exploring a Designer and Developer WorkflowExploring a Designer and Developer Workflow
Exploring a Designer and Developer WorkflowDevelopmentArc LLC
 
Domain Driven Design & Hexagonal Architecture
Domain Driven Design & Hexagonal ArchitectureDomain Driven Design & Hexagonal Architecture
Domain Driven Design & Hexagonal ArchitectureCan Pekdemir
 
Agile software development
Agile software development Agile software development
Agile software development saurabh goel
 

Similar to SOAT Agile Day 2017 DDD (20)

Finding balance of DDD while your application grows
Finding balance of DDD while your application growsFinding balance of DDD while your application grows
Finding balance of DDD while your application grows
 
Up to speed in domain driven design
Up to speed in domain driven designUp to speed in domain driven design
Up to speed in domain driven design
 
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan Orme
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan OrmeBizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan Orme
BizSpark SF Lightning Talk: "Design Patterns for Designers" by Stephan Orme
 
Domain driven design simplified
Domain driven design simplifiedDomain driven design simplified
Domain driven design simplified
 
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
 
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
 
Introduction to Domain-Driven Design
Introduction to Domain-Driven DesignIntroduction to Domain-Driven Design
Introduction to Domain-Driven Design
 
The Modern Software Architect
The Modern Software ArchitectThe Modern Software Architect
The Modern Software Architect
 
Org Design for Design Orgs - The Workshop
Org Design for Design Orgs - The WorkshopOrg Design for Design Orgs - The Workshop
Org Design for Design Orgs - The Workshop
 
DDD
DDDDDD
DDD
 
Event Storming #10 DDDGreece
Event Storming #10 DDDGreeceEvent Storming #10 DDDGreece
Event Storming #10 DDDGreece
 
DOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGNDOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGN
 
IPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DIIPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DI
 
01 the big_idea
01 the big_idea01 the big_idea
01 the big_idea
 
Design Systems: Enterprise UX Evolution
Design Systems: Enterprise UX EvolutionDesign Systems: Enterprise UX Evolution
Design Systems: Enterprise UX Evolution
 
Improving software economics
Improving software economicsImproving software economics
Improving software economics
 
AlphaSimple product pitch
AlphaSimple product pitchAlphaSimple product pitch
AlphaSimple product pitch
 
Exploring a Designer and Developer Workflow
Exploring a Designer and Developer WorkflowExploring a Designer and Developer Workflow
Exploring a Designer and Developer Workflow
 
Domain Driven Design & Hexagonal Architecture
Domain Driven Design & Hexagonal ArchitectureDomain Driven Design & Hexagonal Architecture
Domain Driven Design & Hexagonal Architecture
 
Agile software development
Agile software development Agile software development
Agile software development
 

More from Gregory Boissinot (20)

Practical Software Architecture DDD
Practical Software Architecture DDDPractical Software Architecture DDD
Practical Software Architecture DDD
 
DDD Introduction
DDD IntroductionDDD Introduction
DDD Introduction
 
Beyond Relational Databases
Beyond Relational DatabasesBeyond Relational Databases
Beyond Relational Databases
 
Paris Redis Meetup Introduction
Paris Redis Meetup IntroductionParis Redis Meetup Introduction
Paris Redis Meetup Introduction
 
Paris Redis Meetup Starting
Paris Redis Meetup StartingParis Redis Meetup Starting
Paris Redis Meetup Starting
 
PZ_Microservices101_20150210
PZ_Microservices101_20150210PZ_Microservices101_20150210
PZ_Microservices101_20150210
 
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
 
gradle_nantesjug
gradle_nantesjuggradle_nantesjug
gradle_nantesjug
 
gradle_lavajug
gradle_lavajuggradle_lavajug
gradle_lavajug
 
Jenkins-meetup
Jenkins-meetupJenkins-meetup
Jenkins-meetup
 
JENKINS_BreizhJUG_20111003
JENKINS_BreizhJUG_20111003JENKINS_BreizhJUG_20111003
JENKINS_BreizhJUG_20111003
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924
 
Gradle_Paris2010
Gradle_Paris2010Gradle_Paris2010
Gradle_Paris2010
 
Gradle_LyonJUG
Gradle_LyonJUGGradle_LyonJUG
Gradle_LyonJUG
 
Gradle_NormandyJUG
Gradle_NormandyJUGGradle_NormandyJUG
Gradle_NormandyJUG
 
Gradle_BreizJUG
Gradle_BreizJUGGradle_BreizJUG
Gradle_BreizJUG
 
Gradle_BordeauxJUG
Gradle_BordeauxJUGGradle_BordeauxJUG
Gradle_BordeauxJUG
 
Gradle_ToulouseJUG
Gradle_ToulouseJUGGradle_ToulouseJUG
Gradle_ToulouseJUG
 
Jenkins_UserMeetup_Paris_201105
Jenkins_UserMeetup_Paris_201105Jenkins_UserMeetup_Paris_201105
Jenkins_UserMeetup_Paris_201105
 
Gradle_ToursJUG
Gradle_ToursJUGGradle_ToursJUG
Gradle_ToursJUG
 

Recently uploaded

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 

Recently uploaded (20)

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 

SOAT Agile Day 2017 DDD