Barely Enough Design
summary
Argues that TDD’s value is design not just tests and gives concrete, actionable techniques: a live rework of a PHPUnit progress formatter to force an interface so formats can be swapped, CRC-driven role/responsibility sketches, and a persistence pattern that collects events. Demonstrates CRC cards, one-line controllers, uses dependency inversion to push behavior down, and shows entities with named constructors and event sourcing for persistence, claiming these reduce fragility and complexity with runnable code examples.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 2:40The waterfall mentality
- 5:00Objectoriented programming
- 7:15Inappropriate intimacy
- 11:10Encapsulation
- 13:35Abstraction
- 14:35Example
- 15:45Customers
- 18:50Interfaces
- 20:45Decisions
- 21:15Decide Later
- 22:05Free Architecture
- 22:30ObjectOriented Architecture
- 23:55Entities
- 25:00Design Encapsulation
- 25:35Ward Cunningham
- 26:40Process
- 29:15Whiteboard
- 31:50Inversion Principle
- 35:55TDD
- 37:40Tools
- 38:05Conclusion








