Living Domain Model
summary
A team refactors a scattered, largely anemic domain model into a cohesive aggregate, uses Mikado technique and ensemble programming to safely delete a legacy class, and positions tests at the use-case boundary so refactors stay deployable; result: 7,000 lines deleted, a single verification-process aggregate, and support for a new document-renewal flow. They hit one regression that sent duplicate communications: 250k messages, then fix it by respecting a removed guard and adding a DTO-based interface, verification process aggregate.
AI-written summary · about
chapters (18)
- 0:00Introduction and motivation
- 4:08What is refactoring?
- 5:11Domain model explained
- 7:15Project context and challenges
- 9:21De-risking the project
- 10:45Identifying code issues
- 13:10Removing dead code with Mikado
- 15:59Cleaning up for clarity
- 17:24Merging verification processes
- 18:29Moving logic to domain layer
- 20:55Splitting large classes
- 22:42Adding new verification type
- 24:48Improving model fitness
- 26:17Pragmatic refactoring approach
- 27:00Chesterton's fence lesson
- 30:53Refactoring communication adapters
- 33:18Summary and feedback loops
- 37:51Q&A session
related talks
49mDomain-Driven Refactoring
57mDealing with Medusas in your Codebase.
28mLarge scale refactoring: from start to finish
01h 01mDomain-Driven Refactoring
01h 12mLegacy Refactoring
34mData-Driven Refactoring
45mArchitecting your codebase
35mRedundancy Driven Development - Navigating disruptive codebase changes.
