Skip to primary navigation
Skip to content
Skip to footer
Henning Schwentner
Coder, Coach, Consultant @ WPS
Domain Storytelling
WPS
Toggle menu
Toggle menu
Domain-Driven Refactorings
Strategic
Extract Bounded Context
Build Bounded Context from Scratch
EXPLORE: Carve Out Data Model First
EXPLORE: Carve Out Domain Model First
Extract Shared Kernel
Socio-technical
Form Cross-Functional Team
Second Team of Partly Layer-Team
Second Team of Layer-Team Only
Move Operator to DevOps Team
Assign Context to Existing Team
EXPLORE: Give Cores to Best Team
EXPLORE: Give Every Team one Core
Tactical (Against Model Anemia)
Enforce Ubiquitous Language
Replace Primitive with Value Object
Split Active Record
Extract Repository Interface
Combine Value Objects
Replace Collection with Entity
Replace Collection with Repository
Heal Entity Anemia
Remove Setter
Replace Setter
Move Logic from Service to Entity
Extract Entity from Smart UI
Extract Service from Smart UI
Introduce Contract
Tactical (Against BBOM)
Extract Specialized Service
Extract Specialized Entity
Extract Specialized Anemic Entity
Extract Specialized Data Model
Replace Method Call with Event
$name$
Alternative to
XXXXX
Motivation
%% TODO: or: “When to Apply”
Mechanics
-
-
Example(s)