SlideShare a Scribd company logo
Leveraging more then DDD Lite in the startup project
Points to consider
• First rapide release
• Should it be dirty but fast ?
• Fear of overengeeniring / overdesign
• Lack of explicit domain
• Lack of domain expert
What we’re exactly doing ?
Phase 1
• Gather user profiles
• Offer configurable visual templates
• Share on social networks
Phase 2
• Web intelligence matching algo
• Feedback collecting
• Job offer recommendations
Going down the DDD path…
• We want to avoid
architecture 2011
effect
What DDD could bring us ?
• Staying on the right track
Leveraging more then DDD Lite in the startup project
What benefit DDD could bring us ?
• Staying on the right track
• Explicit behavior
• Discovering concepts by challenging
constantly what we know about the model
• Application features are going to change often
over the years (Vaughn Vernon IDDD book)
• You don’t understand the domain because it’s
new (Vaughn Vernon IDDD book)
Strategic design
• Working on the use cases from screens
• Making a model
• Challenging your assumptions
• Starting to define UL
• Code / Refactor
• Iterate over the points above
Leveraging more then DDD Lite in the startup project
CQRS… what ?
Idea behind
• Separate write from reads
Points to consider
• Do I need a separate data store for r/w ?
• Do I need ES ?
• Do I need Event Store ?
• Do I need Domain Events ? (more DDD part)
Leveraging more then DDD Lite in the startup project
Leveraging more then DDD Lite in the startup project
UI
UI
Domain
Infrastructure CommandProc
Validation
Validation Ex: 2
Validation Ex: 3
Domain
Breaking the rule
• Rule of thumb : One aggregate state
modification per transaction
Leveraging more then DDD Lite in the startup project
UI
Infrastructure
Wrap up
What I’ve achieved
• Decoupling
• Maintanibility
• Extensibility
What bothers me
• Mapping (« at boundaries, application are not
object oriented » Mark Seemann)
Proof

More Related Content

PPTX
CQRS recipes or how to cook your architecture
PDF
Domain Driven Design - Building Blocks
PPTX
A Practical Guide to Domain Driven Design: Presentation Slides
PDF
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
PDF
Domain Driven Design Big Picture Strategic Patterns
PDF
Domain Driven Design - Distillation - Chapter 15
PDF
Domain Driven Design Communication Techniques
PDF
Domain-Driven Design (Artur Trosin Product Stream)
CQRS recipes or how to cook your architecture
Domain Driven Design - Building Blocks
A Practical Guide to Domain Driven Design: Presentation Slides
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
Domain Driven Design Big Picture Strategic Patterns
Domain Driven Design - Distillation - Chapter 15
Domain Driven Design Communication Techniques
Domain-Driven Design (Artur Trosin Product Stream)

What's hot (20)

PPT
User Driven Software Architecture
PDF
Clean architecture with ddd layering in php
PDF
Tech Thursdays: Building Products
PDF
Domain-Driven Design with ASP.NET MVC
PDF
The Developers World
PPTX
Domain-Driven Design: The "What" and the "Why"
PDF
Domain Driven Design
PPTX
Entity Framework and Domain Driven Design
PDF
PPT
Domain Driven Design Demonstrated
PDF
Talent42 2017: Mei Lu - 1_Pager Software Developer Job Descriptions
PPTX
Getting Started with Architecture Decision Records
PDF
PromptWorks Talk Tuesdays: Dustin Ingram 8/30/16 "What is an ADR?"
PDF
Architecting for Hyper Growth and Great Engineering Culture
PPTX
Xamarin.Forms Bootcamp
PDF
iOS development best practices
PDF
SOAT Agile Day 2017 DDD
PDF
How'd we get here? A guide to Architectural Decision Records
PPTX
Neil Perlin - We're Going Mobile! Great! Are We Ready?
PPTX
Working With Sql Azure from Entity Framework On-Premises (Julia Lerman)
User Driven Software Architecture
Clean architecture with ddd layering in php
Tech Thursdays: Building Products
Domain-Driven Design with ASP.NET MVC
The Developers World
Domain-Driven Design: The "What" and the "Why"
Domain Driven Design
Entity Framework and Domain Driven Design
Domain Driven Design Demonstrated
Talent42 2017: Mei Lu - 1_Pager Software Developer Job Descriptions
Getting Started with Architecture Decision Records
PromptWorks Talk Tuesdays: Dustin Ingram 8/30/16 "What is an ADR?"
Architecting for Hyper Growth and Great Engineering Culture
Xamarin.Forms Bootcamp
iOS development best practices
SOAT Agile Day 2017 DDD
How'd we get here? A guide to Architectural Decision Records
Neil Perlin - We're Going Mobile! Great! Are We Ready?
Working With Sql Azure from Entity Framework On-Premises (Julia Lerman)
Ad

Viewers also liked (8)

PDF
Domain Driven Design
PPTX
Functional programming in C#
PDF
Getting better
PDF
What is "Domain Driven Design" and what can you expect from it?
PDF
2 years after the first event - The Saga Pattern
PDF
Common ddd pitfalls
PDF
Selling ddd
PDF
Domain-driven design - tactical patterns
Domain Driven Design
Functional programming in C#
Getting better
What is "Domain Driven Design" and what can you expect from it?
2 years after the first event - The Saga Pattern
Common ddd pitfalls
Selling ddd
Domain-driven design - tactical patterns
Ad

Similar to Leveraging more then DDD Lite in the startup project (20)

PDF
2019-Nov: Domain Driven Design (DDD) and when not to use it
PDF
Devconf 2011 - PHP - How Yii framework is developed
PDF
Prototyping like it is 2022
PDF
Undoable architectures
PPTX
The Fundamentals of Continuous Software Design
PPTX
Software Design
PDF
Friday final test
PDF
It is a sunny day
PPT
Branding SharePoint for Evolving Internet Devices
PDF
The 360 Developer
PPTX
Writing Testable Code in SharePoint
PDF
10 Big Ideas from Industry
PPT
Complexinterfaces
PDF
UXPA Boston Responsive Design Snyder Rizzico
PPT
Reshaping SharePoint for Evolving Internet Devices
PPT
Arch factory - Agile Design: Best Practices
PPTX
How to Implement Domain Driven Design in Real Life SDLC
PPTX
14 Habits of Great SQL Developers
PPTX
Introduction to DDD
PDF
IUE Integrating UI Design Specs
2019-Nov: Domain Driven Design (DDD) and when not to use it
Devconf 2011 - PHP - How Yii framework is developed
Prototyping like it is 2022
Undoable architectures
The Fundamentals of Continuous Software Design
Software Design
Friday final test
It is a sunny day
Branding SharePoint for Evolving Internet Devices
The 360 Developer
Writing Testable Code in SharePoint
10 Big Ideas from Industry
Complexinterfaces
UXPA Boston Responsive Design Snyder Rizzico
Reshaping SharePoint for Evolving Internet Devices
Arch factory - Agile Design: Best Practices
How to Implement Domain Driven Design in Real Life SDLC
14 Habits of Great SQL Developers
Introduction to DDD
IUE Integrating UI Design Specs

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Electronic commerce courselecture one. Pdf
PPT
Teaching material agriculture food technology
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Machine learning based COVID-19 study performance prediction
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
20250228 LYD VKU AI Blended-Learning.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 3 Spatial Domain Image Processing.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
cuic standard and advanced reporting.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Electronic commerce courselecture one. Pdf
Teaching material agriculture food technology
“AI and Expert System Decision Support & Business Intelligence Systems”
Machine learning based COVID-19 study performance prediction
Reach Out and Touch Someone: Haptics and Empathic Computing
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
NewMind AI Monthly Chronicles - July 2025
Network Security Unit 5.pdf for BCA BBA.
Per capita expenditure prediction using model stacking based on satellite ima...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectral efficient network and resource selection model in 5G networks
Diabetes mellitus diagnosis method based random forest with bat algorithm
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

Leveraging more then DDD Lite in the startup project

  • 2. Points to consider • First rapide release • Should it be dirty but fast ? • Fear of overengeeniring / overdesign • Lack of explicit domain • Lack of domain expert
  • 3. What we’re exactly doing ? Phase 1 • Gather user profiles • Offer configurable visual templates • Share on social networks Phase 2 • Web intelligence matching algo • Feedback collecting • Job offer recommendations
  • 4. Going down the DDD path… • We want to avoid architecture 2011 effect
  • 5. What DDD could bring us ? • Staying on the right track
  • 7. What benefit DDD could bring us ? • Staying on the right track • Explicit behavior • Discovering concepts by challenging constantly what we know about the model • Application features are going to change often over the years (Vaughn Vernon IDDD book) • You don’t understand the domain because it’s new (Vaughn Vernon IDDD book)
  • 8. Strategic design • Working on the use cases from screens • Making a model • Challenging your assumptions • Starting to define UL • Code / Refactor • Iterate over the points above
  • 10. CQRS… what ? Idea behind • Separate write from reads Points to consider • Do I need a separate data store for r/w ? • Do I need ES ? • Do I need Event Store ? • Do I need Domain Events ? (more DDD part)
  • 13. UI
  • 14. UI
  • 21. Breaking the rule • Rule of thumb : One aggregate state modification per transaction
  • 23. UI
  • 25. Wrap up What I’ve achieved • Decoupling • Maintanibility • Extensibility What bothers me • Mapping (« at boundaries, application are not object oriented » Mark Seemann)
  • 26. Proof