~/talk

Breaking Bad Code: From simple problems to complicated solutions and back

Talkat JDD 2023 · 2023-10-24..10-25· [software-architecture]
slides:none on file

Working on modularizing a huge monolith exposes concrete anti‑patterns: choosing Kafka/MongoDB before requirements, entities as dumb DTOs with generated getters/setters, business logic hidden in setters, a sprawling God entity and many Boolean flags that allow illegal states. The fix is to model an approval request aggregate with value objects, entities, aggregates, a clear application service layer, domain services and domain events (optionally event sourcing). Result: single-place business rules, fast unit tests, simpler integrations and noticeably fewer production surprises.

AI-written summary · about

  1. 0:00Introduction and setup
  2. 3:01Approval request system explained
  3. 5:56Premature technology decisions
  4. 7:22Data-centric anti-patterns
  5. 9:09Anemic domain models
  6. 10:38Exposing entities in APIs
  7. 12:26Business logic in getters/setters
  8. 14:58God entities and their dangers
  9. 17:27Concept generalization pitfalls
  10. 19:18Boolean flags and state issues
  11. 21:36Internal state exposure risks
  12. 22:19OOP and behavior encapsulation
  13. 25:50Domain modeling fundamentals
  14. 27:16Domain model protection
  15. 29:03DDD tactical patterns
  16. 31:54Aggregates and consistency
  17. 34:47Domain events and history
  18. 35:51Domain services for complex logic
  19. 37:37Application service layer
  20. 39:45Integration layer design
  21. 41:12Published language concept
  22. 42:37Event sourcing benefits
  23. 44:01DDD toolbox and anti-patterns
  24. 45:27OOP principles and DDD
  25. 46:10Benefits of clean domain code
  26. 48:16Recommended DDD resources
  27. 50:25Architecture book recommendations
  28. 51:08Engineering leadership initiative
~/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.