~/talk

Domain-Driven Refactoring

slides:none on file

Refactors a legacy loyalty system into a real domain model by extracting a web-backed OfferValueCalculator domain service, converting a long handler into focused methods with ReSharper in Visual Studio 2022, and pushing expiration logic into the offer type while moving assignment behavior into the member aggregate. Uses Entity Framework and IHttpClient, introduces an interface for DI and test seams, tightens constructors and removes public setters; result is encapsulated domain objects and safer, testable behavior.

AI-written summary · about

  1. 0:00Introduction and setup
  2. 1:27What is domain-driven design
  3. 3:54Refactoring literature and techniques
  4. 6:02Current loyalty system model
  5. 10:19Starting the refactoring process
  6. 15:15Extracting methods for clarity
  7. 19:09Moving behavior to domain objects
  8. 27:19Encapsulating expiration logic
  9. 31:30Assigning offers to members
  10. 37:02Protecting domain object integrity
  11. 43:06Finalizing domain object constructors
  12. 45:35Benefits of domain-driven refactoring
  13. 46:39Q&A and closing remarks
~/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.