~/talk

OOPs!... I Did it Again: When Good Objects Go Toxic

Talkat Commit Your Code 2026 · 2026-09-02..09-04· [software-architecture]
links:none on file
slides:none on file

Shows Java-based library examples that break a bloated Title/Item parent into domain models, moves catalog/copyright/metadata responsibilities into separate classes, and converts deep "is-a" hierarchies into has-a relationships. Demonstrates removing abstract methods from the top-level class, implementing domain-specific search/download/renew behavior, and treating the pattern as a shared identity model to avoid fragile coupling. Emphasizes concrete steps: map workflow, split responsibilities, refactor to composition, and remove abstract from parent to reduce costly refactors.

AI-written summary · about

  1. 0:00Toxic OOP design intro
  2. 1:14What is a toxic object
  3. 2:59Pitfalls of object-oriented programming
  4. 4:46OOP pillars misuse
  5. 5:07Identifying and fixing God objects
  6. 13:34Three steps to eliminate God objects
  7. 14:57Dangers of over-inheritance
  8. 16:44Scalable inheritance
  9. 22:00Composition over inheritance
  10. 23:42Key takeaways
~/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.