SlideShare a Scribd company logo
Refactoring towards 
Domain Driven Design 
DAVID BERLINER
The sources of all knowledge:
Who am I ? 
Developer at BetTech. 
I've been coding for a decade. 
@manatok
“…is a disciplined technique for 
restructuring an existing body of code, 
altering its internal structure without 
changing its external behavior.…” 
Martin Fowler
Refactoring for Domain Driven Design
Refactoring for Domain Driven Design
+ Adding features 
+ Shortcuts and hacks 
+ Team growth 
= increased complexity
No thanks! 
We're 
too busy.
TIME 
CUMULATIVE FUNCTIONALITY 
GOOD DESIGN 
NO DESIGN 
DESIGN PAY-OFF LINE
So... 
how do we do it?
Refactoring for Domain Driven Design
Refactoring for Domain Driven Design
Refactoring requires 
prioritisation
Boyscout refactoring
What is considered 
“code litter”?
Refactoring for Domain Driven Design
Refactoring for Domain Driven Design
Domain 
Driven 
Design
Bounded context 
Ubiquitous 
language
Refactoring for Domain Driven Design
Refactoring for Domain Driven Design
Refactoring for Domain Driven Design
Refactoring for Domain Driven Design
Refactoring for Domain Driven Design
Refactoring for Domain Driven Design
Refactoring for Domain Driven Design
Refactoring for Domain Driven Design
Define 
model 
with 
Ubiquitous 
Language 
Identify 
model 
with 
MODEL DRIVEN DESIGN 
Process 
model 
with 
Express 
model 
with 
Express 
model 
with 
Isolate 
domain 
with 
Express 
state change 
with 
Bounded 
Contexts Services Entities 
Value 
Objects 
Layered 
Architecture Events
Refactoring for Domain Driven Design
Refactoring for Domain Driven Design
ANTI-CORRUPTION LAYER
ANTI-CORRUPTION LAYER
final thoughts
+ You don’t have to drink ALL 
the kool-aid to benefit 
+ See the good side of 
a messy system 
+ Be consistent
Thaynouk
Refactoring for Domain Driven Design

More Related Content

PPT
Domain Driven Design (DDD)
PDF
Domain Driven Design and Hexagonal Architecture
PPTX
Domain Driven Design Introduction
PPTX
Introduction to DDD
PPTX
Domain Driven Design Quickly
PPTX
Domain Driven Design 101
PPTX
Domain Driven Design
PPTX
Domain Driven Design
Domain Driven Design (DDD)
Domain Driven Design and Hexagonal Architecture
Domain Driven Design Introduction
Introduction to DDD
Domain Driven Design Quickly
Domain Driven Design 101
Domain Driven Design
Domain Driven Design

What's hot (20)

PDF
Domain Driven Design
PPSX
Domain Driven Design
PDF
Domain Driven Design (Ultra) Distilled
PDF
Domain Driven Design
PPTX
Clean code coding like a professional
PPTX
Domain Driven Design(DDD) Presentation
PPT
Domain Driven Design Demonstrated
PPTX
A Practical Guide to Domain Driven Design: Presentation Slides
PDF
Domain driven design and model driven development
PPTX
Applying Domain-Driven Design to craft Rich Domain Models
PPTX
Introducing Domain Driven Design - codemash
PPTX
Domain driven design
PPTX
Domain driven design
PDF
Domain Driven Design
PDF
The Secrets of Hexagonal Architecture
PDF
Introducing Clean Architecture
PPTX
Whitebox testing of Spring Boot applications
PDF
Modelling a complex domain with Domain-Driven Design
PPT
Clean code
PDF
DDD Tactical Design with Clean Architecture - Ivan Paulovich
Domain Driven Design
Domain Driven Design
Domain Driven Design (Ultra) Distilled
Domain Driven Design
Clean code coding like a professional
Domain Driven Design(DDD) Presentation
Domain Driven Design Demonstrated
A Practical Guide to Domain Driven Design: Presentation Slides
Domain driven design and model driven development
Applying Domain-Driven Design to craft Rich Domain Models
Introducing Domain Driven Design - codemash
Domain driven design
Domain driven design
Domain Driven Design
The Secrets of Hexagonal Architecture
Introducing Clean Architecture
Whitebox testing of Spring Boot applications
Modelling a complex domain with Domain-Driven Design
Clean code
DDD Tactical Design with Clean Architecture - Ivan Paulovich
Ad

Similar to Refactoring for Domain Driven Design (20)

PDF
Refactoringforddd davidberliner-141006004456-conversion-gate02
PDF
Strategic refactoring. Refactoring strategies
PPTX
Eurosport's Kodakademi #2
PPTX
Writing Better Code - Helping Developers make Decisions.pptx
PPTX
Clean Code, Code Refactoring & TDD
PPT
Software Reengineering
PDF
What lies beneath
PDF
Refactoring 2TheMax (con ReSharper)
PDF
Keeping code clean
PPTX
Refactoring workshop
PPTX
Week 2 SREE.pptx Software reengieering ucp sllides
PDF
Emergent design - PHP Jo'burg 2015
ODP
SOLID refactoring - racing car katas
PPTX
Agile Australia 2016 - Rescuing Legacy Software from Impending Doom
PDF
Refactoring 2 The Max
PPTX
Software Development: Beyond Training wheels
ODP
Evolutionary Design Solid
PPTX
Refactoring, 2nd Edition
PDF
Innovation Without Asking Permission
PPTX
Code refactoring
Refactoringforddd davidberliner-141006004456-conversion-gate02
Strategic refactoring. Refactoring strategies
Eurosport's Kodakademi #2
Writing Better Code - Helping Developers make Decisions.pptx
Clean Code, Code Refactoring & TDD
Software Reengineering
What lies beneath
Refactoring 2TheMax (con ReSharper)
Keeping code clean
Refactoring workshop
Week 2 SREE.pptx Software reengieering ucp sllides
Emergent design - PHP Jo'burg 2015
SOLID refactoring - racing car katas
Agile Australia 2016 - Rescuing Legacy Software from Impending Doom
Refactoring 2 The Max
Software Development: Beyond Training wheels
Evolutionary Design Solid
Refactoring, 2nd Edition
Innovation Without Asking Permission
Code refactoring
Ad

Recently uploaded (20)

PPTX
Causes of Flooding by Slidesgo sdnl;asnjdl;asj.pptx
PDF
SEVA- Fashion designing-Presentation.pdf
PPTX
Special finishes, classification and types, explanation
PDF
Africa 2025 - Prospects and Challenges first edition.pdf
PPTX
AC-Unit1.pptx CRYPTOGRAPHIC NNNNFOR ALL
PDF
Integrated-2D-and-3D-Animation-Bridging-Dimensions-for-Impactful-Storytelling...
PDF
Interior Structure and Construction A1 NGYANQI
PDF
Trusted Executive Protection Services in Ontario — Discreet & Professional.pdf
PDF
Urban Design Final Project-Context
PPTX
ANATOMY OF ANTERIOR CHAMBER ANGLE AND GONIOSCOPY.pptx
PPTX
YV PROFILE PROJECTS PROFILE PRES. DESIGN
PPT
pump pump is a mechanism that is used to transfer a liquid from one place to ...
PPTX
AD Bungalow Case studies Sem 2.pptxvwewev
PDF
Urban Design Final Project-Site Analysis
PPTX
mahatma gandhi bus terminal in india Case Study.pptx
PPT
Machine printing techniques and plangi dyeing
PDF
The Advantages of Working With a Design-Build Studio
PPT
unit 1 ppt.ppthhhhhhhhhhhhhhhhhhhhhhhhhh
PDF
Emailing DDDX-MBCaEiB.pdf DDD_Europe_2022_Intro_to_Context_Mapping_pdf-165590...
PPTX
6- Architecture design complete (1).pptx
Causes of Flooding by Slidesgo sdnl;asnjdl;asj.pptx
SEVA- Fashion designing-Presentation.pdf
Special finishes, classification and types, explanation
Africa 2025 - Prospects and Challenges first edition.pdf
AC-Unit1.pptx CRYPTOGRAPHIC NNNNFOR ALL
Integrated-2D-and-3D-Animation-Bridging-Dimensions-for-Impactful-Storytelling...
Interior Structure and Construction A1 NGYANQI
Trusted Executive Protection Services in Ontario — Discreet & Professional.pdf
Urban Design Final Project-Context
ANATOMY OF ANTERIOR CHAMBER ANGLE AND GONIOSCOPY.pptx
YV PROFILE PROJECTS PROFILE PRES. DESIGN
pump pump is a mechanism that is used to transfer a liquid from one place to ...
AD Bungalow Case studies Sem 2.pptxvwewev
Urban Design Final Project-Site Analysis
mahatma gandhi bus terminal in india Case Study.pptx
Machine printing techniques and plangi dyeing
The Advantages of Working With a Design-Build Studio
unit 1 ppt.ppthhhhhhhhhhhhhhhhhhhhhhhhhh
Emailing DDDX-MBCaEiB.pdf DDD_Europe_2022_Intro_to_Context_Mapping_pdf-165590...
6- Architecture design complete (1).pptx

Refactoring for Domain Driven Design