SlideShare a Scribd company logo
Introduction to Domain-Driven Design (DDD)
Christos Tsakostas
Athens, 13th December 2013
2
Contents
Motivation
Introduction
Strategic Design
Tactical Design
- Model-Driven Design
- Supple Design and OOP
- Techniques (CQRS, ES, EDA)
Strategic Design Revisited
- Distillation
- Bringing the Strategy together
Wrap-Up
MOTIVATION
4
Common Problems
Monolithic Models (Big Ball of Mud)
Anemic Data Models
Relational-Database way of thinking
Communication Difficulties
5
Monolithic Models
6
Anemic Domain Models (cause Memory Loss)
7
Communication Difficulties
Domain Expert Developer
8
DDD Alternative
Monolithic Data Models (Big
Ball of Mud)
Anemic Data Models
Relational-Database way of
thinking
Communication Difficulties
Smaller Independent Domain
Models / Integration
Rich Behavior Objects (OOP
done right)
Persistence Ignorance
Ubiquitous Language
INTRODUCTION
10
What is DDD?
It is an Approach to develop software for
- Complex needs
- Evolving models
It is Not a technology or a methodology
It is a Way of Thinking
11
Brief History of DDD
Eric Evans – 2003
DDD Community (http:// www.domaindrivendesign.org)
Jimmy Nilson – 2006
Greg Young – 2008 / 2013
Vaughn Vernon – 2013
P:PubTechnical_documentationDomain Driven Design (DDD)
12
The Business Value of DDD
1. The organization gains a useful model of its domain.
2. A refined, precise definition and understanding of the business is developed.
3. Domain experts contribute to software design.
4. A better user experience is gained.
5. Clean boundaries are placed around pure models.
6. Enterprise architecture is better organized.
7. Agile, iterative, continuous modeling is used.
8. New tools, both strategic and tactical, are employed.
STRATEGIC DESIGN
14
Fact
For Complex Systems, most often,
A Single Model Cannot Make it!
15
What do we do?
Multiple Models
16
Strategic Design: The Result
17
Strategic Design – 1. Define the Domain & Identify Subdomains
Life Cycle
Assessment
Substance
Library
Identity and
Access
Subdomain
Subdomain Subdomain
Subdomain
Subdomain
Chesar Domain
IUCLID
18
Strategic Design – 2. Characterize Subdomains
Life Cycle
Assessment
Substance
Library
Identity and
Access
Supporting
Subdomain
Generic
Subdomain
Supporting
Subdomain
Generic
Subdomain
Core Domain
IUCLID
Chesar Domain
IUCLID
19
Strategic Design – 3. Define Contexts
Life Cycle
Context
Assessment
Context
Substance
Context
Library
Context
Identity and
Access Context
Chesar Domain
IUCLID
20
Strategic Design – 3. Define Contexts / Alternative
Assessment & Life Cycle
Context
Substance
Context
Library
Context
Identity and
Access Context
Chesar Domain
IUCLID
21
Strategic Design – 4. Make Contexts Bounded with Context Maps
Life Cycle
Context
Assessment
Context
Substance
Context
Library
Context
Identity and
Access Context
Chesar Domain
9/12/2013 22
Strategic Design – 5. Model Integrity
23
What if initial Strategy is proved to be wrong?
It’s Human Nature…even Inevitable…
24
What do we do?
Redesign – Refactor. Make it Better!
Initial Designs should not be Dogmas.
DEFINITIONS
26
Domain (Problem Space)
A sphere of knowledge, influence, or activity (or “The Business”)
27
Domain Model (Solution Space)
A system of abstractions that:
•Describes selected aspects of a domain and
•Can be used to solve problems related to that domain.
28
Problem Space vs Solution Space
Domain Domain Model
29
Context
The setting in which a word or statement appears that
determines its meaning.
30
Bounded Context
A description of a boundary (typically a subsystem, or the work of
a particular team) within which a particular model is defined and
applicable.
31
Context Map
Translation Map between Bounded Contexts.
32
Ubiquitous Language
A language structured around the domain model.
Used by all team members, within a bounded context, to connect
all the activities of the team with the software.
NOT universal!
33
Ubiquitous Language - An Example
Requirements for “Customer”
•Change Personal Name
•Set Postal Address
•Relocate to Postal Address
•Change Home Telephone
•Disconnect Home Telephone
•Set Primary Email Address
•Set Secondary Email Address
34
Data-Driven Implementation
35
DDD Approach incorporating Ubiquitous Language
36
DDD Approach incorporating Ubiquitous Language
Put Behavior (the “What to do”), described in a Ubiquitous way, inside the Object
TACTICAL DESIGN
Inside a Bounded Context
Tactical Design
39
Model-Driven Design
40
Data-Driven Design: An Invoice
9/12/2013 41
Model-Driven Design – Invoicing Context
42
Tactical Design
Towards a Maintainable and Extensible Model
43
Supple Design
Remembering Object Oriented Programming
Tactical Design
45
A - PIE
Abstraction
Polymorphism
Inheritance
Encapsulation
46
S.O.L.I.D.
Single Responsibility Principle (SRP)
Open / Closed Principle (OCP)
Liskov Substitution Principle (LSP)
Interface Segregation Principle (ISP)
Dependency Inversion Principle (DIP)
9/12/2013 47
Loose Coupling and High Cohesion
Decrease Coupling
Increase Cohesion
Eliminate Inappropriate Intimacy
The Law of Demeter
Tell, Don’t Ask
Say it Once and Only Once
48
Law of Demeter
49
Tell - Don’t Ask
50
Design Patterns
Creational (i.e. Abstract Factory, Singleton)
Structural (i.e. Adapter, Decorator, Proxy)
Behavioral (i.e. Observer or Publish / Subscribe, Visitor)
Concurrency (i.e. Thread Pool, Event-based Asynchronous)
ARCHITECTURE
Tactical Design
52
Layered Architecture
53
Dependency Inversion Principle (DIP)
54
Layered Architecture based on DIP
55
Hexagonal Architecture / Ports and Adapters
COMMAND QUERY SEPARATION
Tactical Design
57
Single Model
58
Command Query Responsibility Segregation (CQRS)
59
CQRS with Events and Different Storages
60
CQRS -> Command Bus
DOMAIN EVENTS
Tactical Design
62
Domain Events / Event Sourcing
63
Domain Events / Event Sourcing
64
Event Sourcing
65
Event Stores: A Time Travel
Logging of Everything
Business Intelligence
66
Views / Projections
Disposable
Even In Memory!
67
Tactical Design: Naming & Modules
A.P.I.
Bounded Context
Domain Model
Ports & Adapters
68
Tactical Design: Naming & Modules
Application Services
Commands
Events
Domain Service
Aggregates
69
Tactical Design:Task-based UIs (Inductive UIs)
Typical CRUD form Task-based
STRATEGIC DESIGN
REVISITED
71
Strategic Design - Distillation
72
Distillation: An Abstract Assessment
73
Bringing the Strategy Together
WRAP-UP
75
Wrap-Up: Strategy
•In certain cases, one Model cannot make it
•Multiple Models – Integration with Strategic Design
•Ubiquitous Language in Model, Code, Spoken & Written Language
•Be a Good Listener – Understand the Problem Space
•The “worst” Domain Expert is the Best in the World compared to us
•The obvious is not adequate. Focus on Exceptions
•How would / does the Domain function Without Computers?
•Initial Analysis and Design are Not Dogmas – Knowledge comes Slowly
Redesign
76
Wrap-Up: Tactics
•Model-Driven Design as OOP done right
•Focus on What instead of How
•Focus on Behavior (hidden in Verbs) instead of Data (hidden in Nouns)
•Be familiar with, Design Patterns and Principles
•Command Query Responsibility Segregation
•Event – Driven Architecture
•Event Stores
•Hexagonal Architecture / Ports & Adapters
Refactor
77
Strategic, Tactical, DDD, OOP, CQRS, UI, ES, EDA, ….
For the things we have to learn before we can do them,
we learn by doing them.
Aristotle
Ad

More Related Content

What's hot (20)

Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
Andriy Buday
 
Domain Driven Design: Zero to Hero
Domain Driven Design: Zero to HeroDomain Driven Design: Zero to Hero
Domain Driven Design: Zero to Hero
Fabrício Rissetto
 
Domain Driven Design
Domain Driven Design Domain Driven Design
Domain Driven Design
Araf Karsh Hamid
 
Introducing Domain Driven Design - codemash
Introducing Domain Driven Design - codemashIntroducing Domain Driven Design - codemash
Introducing Domain Driven Design - codemash
Steven Smith
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Nader Albert
 
Migrating with Debezium
Migrating with DebeziumMigrating with Debezium
Migrating with Debezium
Mike Fowler
 
Explicit architecture
Explicit architectureExplicit architecture
Explicit architecture
Herberto Graça
 
Baby steps to Domain-Driven Design
Baby steps to Domain-Driven DesignBaby steps to Domain-Driven Design
Baby steps to Domain-Driven Design
Žilvinas Kuusas
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introduction
wojtek_s
 
Implementing DDD with C#
Implementing DDD with C#Implementing DDD with C#
Implementing DDD with C#
Pascal Laurin
 
Introducing Saga Pattern in Microservices with Spring Statemachine
Introducing Saga Pattern in Microservices with Spring StatemachineIntroducing Saga Pattern in Microservices with Spring Statemachine
Introducing Saga Pattern in Microservices with Spring Statemachine
VMware Tanzu
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
Alan Christensen
 
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
Alexander van Trijffel
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
Amit Mukherjee
 
Event Storming and Saga
Event Storming and SagaEvent Storming and Saga
Event Storming and Saga
Araf Karsh Hamid
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and Saga
Araf Karsh Hamid
 
Domain Driven Design - Strategic Patterns and Microservices
Domain Driven Design - Strategic Patterns and MicroservicesDomain Driven Design - Strategic Patterns and Microservices
Domain Driven Design - Strategic Patterns and Microservices
Radosław Maziarka
 
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
Naeem Sarfraz
 
D2 domain driven-design
D2 domain driven-designD2 domain driven-design
D2 domain driven-design
Arnaud Bouchez
 
Domain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledDomain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) Distilled
Nicola Costantino
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
Andriy Buday
 
Domain Driven Design: Zero to Hero
Domain Driven Design: Zero to HeroDomain Driven Design: Zero to Hero
Domain Driven Design: Zero to Hero
Fabrício Rissetto
 
Introducing Domain Driven Design - codemash
Introducing Domain Driven Design - codemashIntroducing Domain Driven Design - codemash
Introducing Domain Driven Design - codemash
Steven Smith
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Nader Albert
 
Migrating with Debezium
Migrating with DebeziumMigrating with Debezium
Migrating with Debezium
Mike Fowler
 
Baby steps to Domain-Driven Design
Baby steps to Domain-Driven DesignBaby steps to Domain-Driven Design
Baby steps to Domain-Driven Design
Žilvinas Kuusas
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introduction
wojtek_s
 
Implementing DDD with C#
Implementing DDD with C#Implementing DDD with C#
Implementing DDD with C#
Pascal Laurin
 
Introducing Saga Pattern in Microservices with Spring Statemachine
Introducing Saga Pattern in Microservices with Spring StatemachineIntroducing Saga Pattern in Microservices with Spring Statemachine
Introducing Saga Pattern in Microservices with Spring Statemachine
VMware Tanzu
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
Alan Christensen
 
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
Alexander van Trijffel
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and Saga
Araf Karsh Hamid
 
Domain Driven Design - Strategic Patterns and Microservices
Domain Driven Design - Strategic Patterns and MicroservicesDomain Driven Design - Strategic Patterns and Microservices
Domain Driven Design - Strategic Patterns and Microservices
Radosław Maziarka
 
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
Naeem Sarfraz
 
D2 domain driven-design
D2 domain driven-designD2 domain driven-design
D2 domain driven-design
Arnaud Bouchez
 
Domain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledDomain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) Distilled
Nicola Costantino
 

Viewers also liked (20)

ZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven Design
Bradley Holt
 
Domain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with RailsDomain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with Rails
Declan Whelan
 
Refactoring for Domain Driven Design
Refactoring for Domain Driven DesignRefactoring for Domain Driven Design
Refactoring for Domain Driven Design
David Berliner
 
Why Domain-Driven Design Matters
Why Domain-Driven Design MattersWhy Domain-Driven Design Matters
Why Domain-Driven Design Matters
Mathias Verraes
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introduction
Tung Nguyen Thanh
 
Domain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVCDomain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVC
Steven Smith
 
A Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation SlidesA Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation Slides
thinkddd
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Young-Ho Cho
 
DDD, CQRS, ES lessons learned
DDD, CQRS, ES lessons learnedDDD, CQRS, ES lessons learned
DDD, CQRS, ES lessons learned
Qframe
 
Novel Binaural and Transaural Rendering within the Browser
Novel Binaural and Transaural Rendering within the BrowserNovel Binaural and Transaural Rendering within the Browser
Novel Binaural and Transaural Rendering within the Browser
Christos Tsakostas
 
Arquitectura Basada En Componentes
Arquitectura Basada En ComponentesArquitectura Basada En Componentes
Arquitectura Basada En Componentes
urumisama
 
Domain-Driven Design at ZendCon 2012
Domain-Driven Design at ZendCon 2012Domain-Driven Design at ZendCon 2012
Domain-Driven Design at ZendCon 2012
Bradley Holt
 
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
 
CQRS and Event Sourcing
CQRS and Event SourcingCQRS and Event Sourcing
CQRS and Event Sourcing
Nikolay Vasilev
 
jTransfo lightning talk
jTransfo lightning talkjTransfo lightning talk
jTransfo lightning talk
Joachim Van der Auwera
 
An Introduction to Domain Driven Design for Product Managers
An Introduction to Domain Driven Design for Product ManagersAn Introduction to Domain Driven Design for Product Managers
An Introduction to Domain Driven Design for Product Managers
r4isstatic
 
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)
Meenakshi Devi
 
Agile development and domain driven design
Agile development and domain driven designAgile development and domain driven design
Agile development and domain driven design
Jacopo Romei
 
Modularity and Domain Driven Design; a killer combination?
Modularity and Domain Driven Design; a killer combination?Modularity and Domain Driven Design; a killer combination?
Modularity and Domain Driven Design; a killer combination?
ACA IT-Solutions
 
Applying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain ModelsApplying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain Models
PostSharp Technologies
 
ZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven Design
Bradley Holt
 
Domain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with RailsDomain Driven Design and Hexagonal Architecture with Rails
Domain Driven Design and Hexagonal Architecture with Rails
Declan Whelan
 
Refactoring for Domain Driven Design
Refactoring for Domain Driven DesignRefactoring for Domain Driven Design
Refactoring for Domain Driven Design
David Berliner
 
Why Domain-Driven Design Matters
Why Domain-Driven Design MattersWhy Domain-Driven Design Matters
Why Domain-Driven Design Matters
Mathias Verraes
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introduction
Tung Nguyen Thanh
 
Domain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVCDomain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVC
Steven Smith
 
A Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation SlidesA Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation Slides
thinkddd
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Young-Ho Cho
 
DDD, CQRS, ES lessons learned
DDD, CQRS, ES lessons learnedDDD, CQRS, ES lessons learned
DDD, CQRS, ES lessons learned
Qframe
 
Novel Binaural and Transaural Rendering within the Browser
Novel Binaural and Transaural Rendering within the BrowserNovel Binaural and Transaural Rendering within the Browser
Novel Binaural and Transaural Rendering within the Browser
Christos Tsakostas
 
Arquitectura Basada En Componentes
Arquitectura Basada En ComponentesArquitectura Basada En Componentes
Arquitectura Basada En Componentes
urumisama
 
Domain-Driven Design at ZendCon 2012
Domain-Driven Design at ZendCon 2012Domain-Driven Design at ZendCon 2012
Domain-Driven Design at ZendCon 2012
Bradley Holt
 
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
 
An Introduction to Domain Driven Design for Product Managers
An Introduction to Domain Driven Design for Product ManagersAn Introduction to Domain Driven Design for Product Managers
An Introduction to Domain Driven Design for Product Managers
r4isstatic
 
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)
Meenakshi Devi
 
Agile development and domain driven design
Agile development and domain driven designAgile development and domain driven design
Agile development and domain driven design
Jacopo Romei
 
Modularity and Domain Driven Design; a killer combination?
Modularity and Domain Driven Design; a killer combination?Modularity and Domain Driven Design; a killer combination?
Modularity and Domain Driven Design; a killer combination?
ACA IT-Solutions
 
Applying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain ModelsApplying Object Composition to Build Rich Domain Models
Applying Object Composition to Build Rich Domain Models
PostSharp Technologies
 
Ad

Similar to Introduction to Domain Driven Design (20)

Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Hannah Farrugia
 
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
Rick van der Arend
 
SOAT Agile Day 2017 DDD
SOAT Agile Day 2017 DDDSOAT Agile Day 2017 DDD
SOAT Agile Day 2017 DDD
Gregory Boissinot
 
Domain Driven Design - garajco Education 2017
Domain Driven Design - garajco Education 2017Domain Driven Design - garajco Education 2017
Domain Driven Design - garajco Education 2017
Can Pekdemir
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Muhammad Ali
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Mojammel Haque
 
Domain Drive Design: A Very Short Introduction for Business People
Domain Drive Design: A Very Short Introduction for Business PeopleDomain Drive Design: A Very Short Introduction for Business People
Domain Drive Design: A Very Short Introduction for Business People
Emre Sevinç
 
From Legacy to DDD in PHP | Tech Talks | Privalia
From Legacy to DDD in PHP | Tech Talks | PrivaliaFrom Legacy to DDD in PHP | Tech Talks | Privalia
From Legacy to DDD in PHP | Tech Talks | Privalia
Jordi Vila Gallardo
 
My feedback on ddd europe
My feedback on ddd europeMy feedback on ddd europe
My feedback on ddd europe
Guillaume Saint Etienne
 
DDD - What, why, how?
DDD - What, why, how?DDD - What, why, how?
DDD - What, why, how?
Alexey Zimarev
 
DOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGNDOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGN
Mohammed Fazuluddin
 
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
Carolina Karklis
 
2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it
Mark Windholtz
 
Schibsted Spain - Day 1 - DDD Course
Schibsted Spain - Day 1 - DDD CourseSchibsted Spain - Day 1 - DDD Course
Schibsted Spain - Day 1 - DDD Course
Kevin Mas Ruiz
 
Introduction to Domain driven design
Introduction to Domain driven designIntroduction to Domain driven design
Introduction to Domain driven design
Muhammad Ali
 
Domain-Driven Design: From strategic business goals to software implementation
Domain-Driven Design: From strategic business goals to software implementationDomain-Driven Design: From strategic business goals to software implementation
Domain-Driven Design: From strategic business goals to software implementation
Agile Partner S.A.
 
Domain driven design: a gentle introduction
Domain driven design:  a gentle introductionDomain driven design:  a gentle introduction
Domain driven design: a gentle introduction
Asher Sterkin
 
Software Development: Beyond Training wheels
Software Development: Beyond Training wheelsSoftware Development: Beyond Training wheels
Software Development: Beyond Training wheels
Naveenkumar Muguda
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven Design
Frank Levering
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Harsh Jegadeesan
 
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
Rick van der Arend
 
Domain Driven Design - garajco Education 2017
Domain Driven Design - garajco Education 2017Domain Driven Design - garajco Education 2017
Domain Driven Design - garajco Education 2017
Can Pekdemir
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Muhammad Ali
 
Domain Drive Design: A Very Short Introduction for Business People
Domain Drive Design: A Very Short Introduction for Business PeopleDomain Drive Design: A Very Short Introduction for Business People
Domain Drive Design: A Very Short Introduction for Business People
Emre Sevinç
 
From Legacy to DDD in PHP | Tech Talks | Privalia
From Legacy to DDD in PHP | Tech Talks | PrivaliaFrom Legacy to DDD in PHP | Tech Talks | Privalia
From Legacy to DDD in PHP | Tech Talks | Privalia
Jordi Vila Gallardo
 
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
Carolina Karklis
 
2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it
Mark Windholtz
 
Schibsted Spain - Day 1 - DDD Course
Schibsted Spain - Day 1 - DDD CourseSchibsted Spain - Day 1 - DDD Course
Schibsted Spain - Day 1 - DDD Course
Kevin Mas Ruiz
 
Introduction to Domain driven design
Introduction to Domain driven designIntroduction to Domain driven design
Introduction to Domain driven design
Muhammad Ali
 
Domain-Driven Design: From strategic business goals to software implementation
Domain-Driven Design: From strategic business goals to software implementationDomain-Driven Design: From strategic business goals to software implementation
Domain-Driven Design: From strategic business goals to software implementation
Agile Partner S.A.
 
Domain driven design: a gentle introduction
Domain driven design:  a gentle introductionDomain driven design:  a gentle introduction
Domain driven design: a gentle introduction
Asher Sterkin
 
Software Development: Beyond Training wheels
Software Development: Beyond Training wheelsSoftware Development: Beyond Training wheels
Software Development: Beyond Training wheels
Naveenkumar Muguda
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven Design
Frank Levering
 
Ad

Recently uploaded (20)

Streamline Cloud-Native App Development Using CDEs​.pptx
Streamline Cloud-Native App Development Using CDEs​.pptxStreamline Cloud-Native App Development Using CDEs​.pptx
Streamline Cloud-Native App Development Using CDEs​.pptx
Saeed Zarinfam
 
Call of Duty: Warzone for Windows With Crack Free Download 2025
Call of Duty: Warzone for Windows With Crack Free Download 2025Call of Duty: Warzone for Windows With Crack Free Download 2025
Call of Duty: Warzone for Windows With Crack Free Download 2025
Iobit Uninstaller Pro Crack
 
Shift Right Security for EKS Webinar Slides
Shift Right Security for EKS Webinar SlidesShift Right Security for EKS Webinar Slides
Shift Right Security for EKS Webinar Slides
Anchore
 
(Ethical) Alternatives to Piracy: A Quick Guide to Free and Open Source Softw...
(Ethical) Alternatives to Piracy: A Quick Guide to Free and Open Source Softw...(Ethical) Alternatives to Piracy: A Quick Guide to Free and Open Source Softw...
(Ethical) Alternatives to Piracy: A Quick Guide to Free and Open Source Softw...
s-m-quadri
 
Choose Your Own Adventure to Get Started with Grafana Loki
Choose Your Own Adventure to Get Started with Grafana LokiChoose Your Own Adventure to Get Started with Grafana Loki
Choose Your Own Adventure to Get Started with Grafana Loki
Imma Valls Bernaus
 
IBM-App-Connect-Overview-IBM-App-Connect-Overview.pdf
IBM-App-Connect-Overview-IBM-App-Connect-Overview.pdfIBM-App-Connect-Overview-IBM-App-Connect-Overview.pdf
IBM-App-Connect-Overview-IBM-App-Connect-Overview.pdf
JabbarAbdallah
 
How OnePlan & Microsoft 365 Ensure Strategic Alignment with AI-Powered Portfo...
How OnePlan & Microsoft 365 Ensure Strategic Alignment with AI-Powered Portfo...How OnePlan & Microsoft 365 Ensure Strategic Alignment with AI-Powered Portfo...
How OnePlan & Microsoft 365 Ensure Strategic Alignment with AI-Powered Portfo...
OnePlan Solutions
 
Best Practices Salesforce Training & Documentation.pptx
Best Practices Salesforce Training & Documentation.pptxBest Practices Salesforce Training & Documentation.pptx
Best Practices Salesforce Training & Documentation.pptx
Michael Orias
 
Modern Software Testing Playwright, Gen AI, and Machine Learning Models for E...
Modern Software Testing Playwright, Gen AI, and Machine Learning Models for E...Modern Software Testing Playwright, Gen AI, and Machine Learning Models for E...
Modern Software Testing Playwright, Gen AI, and Machine Learning Models for E...
Venkatesh (Rahul Shetty)
 
Nasdanika Overview - Mission, Vision, Differentiators & Capabilities
Nasdanika Overview - Mission, Vision, Differentiators & CapabilitiesNasdanika Overview - Mission, Vision, Differentiators & Capabilities
Nasdanika Overview - Mission, Vision, Differentiators & Capabilities
Pavel Vlasov
 
Grand Theft Auto 6 PC Game Cracked Full Setup Download
Grand Theft Auto 6 PC Game Cracked Full Setup DownloadGrand Theft Auto 6 PC Game Cracked Full Setup Download
Grand Theft Auto 6 PC Game Cracked Full Setup Download
Iobit Uninstaller Pro Crack
 
POS Testing Strategies and Best Practices
POS Testing Strategies and Best PracticesPOS Testing Strategies and Best Practices
POS Testing Strategies and Best Practices
jamescantor38
 
Advance Sales Commission Payments in Odoo
Advance Sales Commission Payments in OdooAdvance Sales Commission Payments in Odoo
Advance Sales Commission Payments in Odoo
AxisTechnolabs
 
Salesforce CRM and software as service model.pdf
Salesforce CRM and software as service model.pdfSalesforce CRM and software as service model.pdf
Salesforce CRM and software as service model.pdf
rinakali1
 
upload_to_ss_open-LLM-Security-Benchmark.pdf
upload_to_ss_open-LLM-Security-Benchmark.pdfupload_to_ss_open-LLM-Security-Benchmark.pdf
upload_to_ss_open-LLM-Security-Benchmark.pdf
avreyjeyson
 
Web Application Development A Comprehensive Guide for 2025.pdf
Web Application Development A Comprehensive Guide for 2025.pdfWeb Application Development A Comprehensive Guide for 2025.pdf
Web Application Development A Comprehensive Guide for 2025.pdf
Secuodsoft
 
OpenMetadata Community Meeting - 21st May 2025
OpenMetadata Community Meeting - 21st May 2025OpenMetadata Community Meeting - 21st May 2025
OpenMetadata Community Meeting - 21st May 2025
OpenMetadata
 
TUG Brazil - VizQL Data Service - Nik Dutra.pdf
TUG Brazil - VizQL Data Service - Nik Dutra.pdfTUG Brazil - VizQL Data Service - Nik Dutra.pdf
TUG Brazil - VizQL Data Service - Nik Dutra.pdf
Ligia Galvão
 
Chapter Five - Packages.ppt JAVA SCRIPT PROGRAMMING AND
Chapter Five - Packages.ppt JAVA  SCRIPT PROGRAMMING ANDChapter Five - Packages.ppt JAVA  SCRIPT PROGRAMMING AND
Chapter Five - Packages.ppt JAVA SCRIPT PROGRAMMING AND
Jifarnecho
 
Daily Agile Snippets That Boost Team Focus and Flexibility
Daily Agile Snippets That Boost Team Focus and FlexibilityDaily Agile Snippets That Boost Team Focus and Flexibility
Daily Agile Snippets That Boost Team Focus and Flexibility
Orangescrum
 
Streamline Cloud-Native App Development Using CDEs​.pptx
Streamline Cloud-Native App Development Using CDEs​.pptxStreamline Cloud-Native App Development Using CDEs​.pptx
Streamline Cloud-Native App Development Using CDEs​.pptx
Saeed Zarinfam
 
Call of Duty: Warzone for Windows With Crack Free Download 2025
Call of Duty: Warzone for Windows With Crack Free Download 2025Call of Duty: Warzone for Windows With Crack Free Download 2025
Call of Duty: Warzone for Windows With Crack Free Download 2025
Iobit Uninstaller Pro Crack
 
Shift Right Security for EKS Webinar Slides
Shift Right Security for EKS Webinar SlidesShift Right Security for EKS Webinar Slides
Shift Right Security for EKS Webinar Slides
Anchore
 
(Ethical) Alternatives to Piracy: A Quick Guide to Free and Open Source Softw...
(Ethical) Alternatives to Piracy: A Quick Guide to Free and Open Source Softw...(Ethical) Alternatives to Piracy: A Quick Guide to Free and Open Source Softw...
(Ethical) Alternatives to Piracy: A Quick Guide to Free and Open Source Softw...
s-m-quadri
 
Choose Your Own Adventure to Get Started with Grafana Loki
Choose Your Own Adventure to Get Started with Grafana LokiChoose Your Own Adventure to Get Started with Grafana Loki
Choose Your Own Adventure to Get Started with Grafana Loki
Imma Valls Bernaus
 
IBM-App-Connect-Overview-IBM-App-Connect-Overview.pdf
IBM-App-Connect-Overview-IBM-App-Connect-Overview.pdfIBM-App-Connect-Overview-IBM-App-Connect-Overview.pdf
IBM-App-Connect-Overview-IBM-App-Connect-Overview.pdf
JabbarAbdallah
 
How OnePlan & Microsoft 365 Ensure Strategic Alignment with AI-Powered Portfo...
How OnePlan & Microsoft 365 Ensure Strategic Alignment with AI-Powered Portfo...How OnePlan & Microsoft 365 Ensure Strategic Alignment with AI-Powered Portfo...
How OnePlan & Microsoft 365 Ensure Strategic Alignment with AI-Powered Portfo...
OnePlan Solutions
 
Best Practices Salesforce Training & Documentation.pptx
Best Practices Salesforce Training & Documentation.pptxBest Practices Salesforce Training & Documentation.pptx
Best Practices Salesforce Training & Documentation.pptx
Michael Orias
 
Modern Software Testing Playwright, Gen AI, and Machine Learning Models for E...
Modern Software Testing Playwright, Gen AI, and Machine Learning Models for E...Modern Software Testing Playwright, Gen AI, and Machine Learning Models for E...
Modern Software Testing Playwright, Gen AI, and Machine Learning Models for E...
Venkatesh (Rahul Shetty)
 
Nasdanika Overview - Mission, Vision, Differentiators & Capabilities
Nasdanika Overview - Mission, Vision, Differentiators & CapabilitiesNasdanika Overview - Mission, Vision, Differentiators & Capabilities
Nasdanika Overview - Mission, Vision, Differentiators & Capabilities
Pavel Vlasov
 
Grand Theft Auto 6 PC Game Cracked Full Setup Download
Grand Theft Auto 6 PC Game Cracked Full Setup DownloadGrand Theft Auto 6 PC Game Cracked Full Setup Download
Grand Theft Auto 6 PC Game Cracked Full Setup Download
Iobit Uninstaller Pro Crack
 
POS Testing Strategies and Best Practices
POS Testing Strategies and Best PracticesPOS Testing Strategies and Best Practices
POS Testing Strategies and Best Practices
jamescantor38
 
Advance Sales Commission Payments in Odoo
Advance Sales Commission Payments in OdooAdvance Sales Commission Payments in Odoo
Advance Sales Commission Payments in Odoo
AxisTechnolabs
 
Salesforce CRM and software as service model.pdf
Salesforce CRM and software as service model.pdfSalesforce CRM and software as service model.pdf
Salesforce CRM and software as service model.pdf
rinakali1
 
upload_to_ss_open-LLM-Security-Benchmark.pdf
upload_to_ss_open-LLM-Security-Benchmark.pdfupload_to_ss_open-LLM-Security-Benchmark.pdf
upload_to_ss_open-LLM-Security-Benchmark.pdf
avreyjeyson
 
Web Application Development A Comprehensive Guide for 2025.pdf
Web Application Development A Comprehensive Guide for 2025.pdfWeb Application Development A Comprehensive Guide for 2025.pdf
Web Application Development A Comprehensive Guide for 2025.pdf
Secuodsoft
 
OpenMetadata Community Meeting - 21st May 2025
OpenMetadata Community Meeting - 21st May 2025OpenMetadata Community Meeting - 21st May 2025
OpenMetadata Community Meeting - 21st May 2025
OpenMetadata
 
TUG Brazil - VizQL Data Service - Nik Dutra.pdf
TUG Brazil - VizQL Data Service - Nik Dutra.pdfTUG Brazil - VizQL Data Service - Nik Dutra.pdf
TUG Brazil - VizQL Data Service - Nik Dutra.pdf
Ligia Galvão
 
Chapter Five - Packages.ppt JAVA SCRIPT PROGRAMMING AND
Chapter Five - Packages.ppt JAVA  SCRIPT PROGRAMMING ANDChapter Five - Packages.ppt JAVA  SCRIPT PROGRAMMING AND
Chapter Five - Packages.ppt JAVA SCRIPT PROGRAMMING AND
Jifarnecho
 
Daily Agile Snippets That Boost Team Focus and Flexibility
Daily Agile Snippets That Boost Team Focus and FlexibilityDaily Agile Snippets That Boost Team Focus and Flexibility
Daily Agile Snippets That Boost Team Focus and Flexibility
Orangescrum
 

Introduction to Domain Driven Design

  翻译: