Day 19/90: Abstract classes & interfaces
Today's note was about using abstract classes & interfaces to make object boundaries and polymorphism easier to reason about. I kept coming back to the same checks: which type owns the invariant, where virtual dispatch is actually needed, and operator behavior that still reads like ordinary code.
The failure mode worth watching is using inheritance or interfaces before deciding which type actually owns the behavior.…
