SlideShare a Scribd company logo
1 of 13
Introduction to Domain Driven Design ,[object Object],[object Object]
Sample use case – enter activity ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
“Domain Model” - non-DDD way UML class diagram
Show form - non-DDD way ,[object Object]
Submit form – non-DDD way UML sequence diagram
Benefits of non-DDD way ,[object Object],[object Object],[object Object]
Problems of non-DDD way ,[object Object],[object Object],[object Object],[object Object]
How to improve design ,[object Object],[object Object],[object Object]
What is DDD (1) ,[object Object],[object Object],[object Object]
What is DDD (2) ,[object Object],[object Object],[object Object],[object Object]
Domain Model - DDD way UML class diagram
Show form - DDD way UML sequence diagram
Submit form - DDD way UML sequence diagram

More Related Content

What's hot

Performance Engineering Case Study V1.0
Performance Engineering Case Study    V1.0Performance Engineering Case Study    V1.0
Performance Engineering Case Study V1.0
sambitgarnaik
 

What's hot (20)

Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Design pattern
Design patternDesign pattern
Design pattern
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
Onion architecture
Onion architectureOnion architecture
Onion architecture
 
Multi tenant architecture
Multi tenant architectureMulti tenant architecture
Multi tenant architecture
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introduction
 
Domain driven design and model driven development
Domain driven design and model driven developmentDomain driven design and model driven development
Domain driven design and model driven development
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and Kafka
 
Microservices
MicroservicesMicroservices
Microservices
 
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
 
Nginx Architecture
Nginx ArchitectureNginx Architecture
Nginx Architecture
 
Domain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
Domain Driven Design – DDD além da teoria!, por Paulo Victor GomesDomain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
Domain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
 
Project onion - Project Architecture for .Net Core Application
Project onion - Project Architecture for .Net Core ApplicationProject onion - Project Architecture for .Net Core Application
Project onion - Project Architecture for .Net Core Application
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
 
Démarrage de projet Agile
Démarrage de projet AgileDémarrage de projet Agile
Démarrage de projet Agile
 
DevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release managementDevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release management
 
2012 the clean architecture by Uncle bob
2012 the clean architecture by Uncle bob 2012 the clean architecture by Uncle bob
2012 the clean architecture by Uncle bob
 
軟體架構模式
軟體架構模式軟體架構模式
軟體架構模式
 
Performance Engineering Case Study V1.0
Performance Engineering Case Study    V1.0Performance Engineering Case Study    V1.0
Performance Engineering Case Study V1.0
 
Domain Driven Design(DDD) Presentation
Domain Driven Design(DDD) PresentationDomain Driven Design(DDD) Presentation
Domain Driven Design(DDD) Presentation
 

Similar to Domain Driven Design

How to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).pptHow to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).ppt
StevenShing
 
Agile PLM implementation and systems integration at sun microsystems
Agile PLM implementation and systems integration at sun microsystemsAgile PLM implementation and systems integration at sun microsystems
Agile PLM implementation and systems integration at sun microsystems
ulfkoester
 
Ws Soa V6 Theory And Practice
Ws Soa V6 Theory And PracticeWs Soa V6 Theory And Practice
Ws Soa V6 Theory And Practice
Pini Cohen
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
ghodgkinson
 
adopt_soa.94145841
adopt_soa.94145841adopt_soa.94145841
adopt_soa.94145841
ypai
 

Similar to Domain Driven Design (20)

How to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).pptHow to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).ppt
 
SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01
 
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseRe-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
 
Oracle Aim Methodology
Oracle Aim MethodologyOracle Aim Methodology
Oracle Aim Methodology
 
Pega systems vs siebel CRM capabilities - A first look
Pega systems vs siebel CRM capabilities - A first lookPega systems vs siebel CRM capabilities - A first look
Pega systems vs siebel CRM capabilities - A first look
 
Agile PLM implementation and systems integration at sun microsystems
Agile PLM implementation and systems integration at sun microsystemsAgile PLM implementation and systems integration at sun microsystems
Agile PLM implementation and systems integration at sun microsystems
 
Implementing and Extending Oracle PLM Cloud for Gibson Overseas
Implementing and Extending Oracle PLM Cloud for Gibson OverseasImplementing and Extending Oracle PLM Cloud for Gibson Overseas
Implementing and Extending Oracle PLM Cloud for Gibson Overseas
 
Briefing Simplicité Software (English)
Briefing Simplicité Software (English)Briefing Simplicité Software (English)
Briefing Simplicité Software (English)
 
Aim PPT For Oracle HRMS
Aim PPT For Oracle HRMSAim PPT For Oracle HRMS
Aim PPT For Oracle HRMS
 
Crafted Design - ITAKE 2014
Crafted Design - ITAKE 2014Crafted Design - ITAKE 2014
Crafted Design - ITAKE 2014
 
Gtechnology / GElectric
Gtechnology / GElectricGtechnology / GElectric
Gtechnology / GElectric
 
Ws Soa V6 Theory And Practice
Ws Soa V6 Theory And PracticeWs Soa V6 Theory And Practice
Ws Soa V6 Theory And Practice
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
Soa Test Methodology
Soa Test MethodologySoa Test Methodology
Soa Test Methodology
 
ERP Training
ERP TrainingERP Training
ERP Training
 
Oracle AIM Methodology
Oracle AIM MethodologyOracle AIM Methodology
Oracle AIM Methodology
 
Automatic measurements of use cases with cosmic thomas fehlmann
Automatic measurements of use cases with cosmic   thomas fehlmannAutomatic measurements of use cases with cosmic   thomas fehlmann
Automatic measurements of use cases with cosmic thomas fehlmann
 
Automatic measurements of use cases with cosmic thomas fehlmann
Automatic measurements of use cases with cosmic   thomas fehlmannAutomatic measurements of use cases with cosmic   thomas fehlmann
Automatic measurements of use cases with cosmic thomas fehlmann
 
adopt_soa.94145841
adopt_soa.94145841adopt_soa.94145841
adopt_soa.94145841
 
Mohamed Tawila CV
Mohamed Tawila CVMohamed Tawila CV
Mohamed Tawila CV
 

More from Ürgo Ringo (7)

Beautiful java script
Beautiful java scriptBeautiful java script
Beautiful java script
 
Specificationby example
Specificationby exampleSpecificationby example
Specificationby example
 
Executable specifiaction
Executable specifiactionExecutable specifiaction
Executable specifiaction
 
Command and Query Responsibility Segregation
Command and Query Responsibility SegregationCommand and Query Responsibility Segregation
Command and Query Responsibility Segregation
 
Small tools to improve your (agile) life
Small tools to improve your (agile) lifeSmall tools to improve your (agile) life
Small tools to improve your (agile) life
 
Unit testing with Easymock
Unit testing with EasymockUnit testing with Easymock
Unit testing with Easymock
 
RIA implementation patterns
RIA implementation patternsRIA implementation patterns
RIA implementation patterns
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Domain Driven Design

Editor's Notes

  1. Introduction Knowledge of DDD?
  2. What is small system? Need to change design if system grows
  3. Entity – objects with a distinct identity. Core of domain model. ValueObject – objects that are primarily defined by the value of their attributes. Often immutable. Two instances whose attributes have the same values can be used interchangeably. Service – implement the workflow of the application. Fulfill a use case. Generally include behaviors that cannot be assigned to a single entity and consist of methods that act on multiple objects. Can be in domain, infrastructure or application level.
  4. Facade – hides complexities of accessing domain model. Like application level services. Define use cases. Contain no business logic themselves. Specification – need to check that only suitable objects are used for a certain role. Keep business rules inside the domain model not leak it out into application layer. If there is large collection it can be same as Query object. Repository – manage collections of entities and define methods for finding and deleting entities. So that clients don't have to care where entities are coming from. Other == DAO but in can be special cases like query some stuff first from some service and then from db. Factory – for creating NEW complex entities. Not like Repositories.