~/talk

Domain-Driven Refactoring

Talkat Build Stuff 2020 · 2020-11-11..11-15· [ruby-on-rails, software-architecture]
slides:none on file

Shows how to refactor a realistic .NET loyalty app step‑by‑step: break a giant handler into named methods, extract an IOfferValueCalculator and inject it, replace a primitive enum with Steve Smith’s SmartEnum to host expiration logic, and push assignment behavior into the Member entity so the model gains methods instead of just data. Uses Mediator-style handlers, ReSharper refactorings, constructor DI, and inner strategy classes to untangle anemic models and make the domain testable and encapsulated. extract methods into named steps OfferValueCalculator via interface replace enum with SmartEnum-based strategy move assign logic into Member entity

AI-written summary · about

  1. 0:00Introduction
  2. 1:53What is Domain-Driven Design
  3. 3:59Domain Model Basics
  4. 6:07Refactoring Legacy Code
  5. 8:15Current Domain Model Analysis
  6. 12:06Live Code Refactoring Start
  7. 16:18Compose Method Refactoring
  8. 21:20Encapsulating External Calls
  9. 27:00Moving Behavior to Domain
  10. 31:14Primitive Obsession and Smart Enums
  11. 38:03Strategy Pattern for Expiration Types
  12. 42:16Assigning Offers to Members
  13. 44:49Next Steps in Refactoring
  14. 45:10Q&A and Resources
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.