- 1.POODR Chapter 1: Object-Oriented Design
Why design matters β the true cost of change, treating software as an arrangement of message-passing objects, and design as the art of managing dependencies.
γ»4 minπ - 2.POODR Chapter 2: Designing Classes with a Single Responsibility
Making classes do one thing β the SRP, the TRUE test, hiding instance variables behind methods, and isolating data structures so change stays cheap.
γ»5 minπ - 3.POODR Chapter 3: Managing Dependencies
Recognizing, isolating, and inverting dependencies β dependency injection, depending on abstractions, and choosing the direction dependencies should point.
γ»5 minπ - 4.POODR Chapter 4: Creating Flexible Interfaces
Designing the messages between objects β public vs private interfaces, asking for 'what' not 'how', context independence, and the Law of Demeter.
γ»5 minπ - 5.POODR Chapter 5: Reducing Costs with Duck Typing
Across-class interfaces defined by behavior, not class β recognizing hidden ducks behind case-on-class and responds_to? checks, and trusting objects by what they do.
γ»4 minπ - 6.POODR Chapter 6: Acquiring Behavior Through Inheritance
Classical inheritance done right β recognizing where it fits, refactoring concrete classes into an abstract superclass, and using the template method pattern with hooks instead of super.
γ»6 minπ - 7.POODR Chapter 7: Sharing Role Behavior with Modules
Sharing behavior across unrelated classes with Ruby modules β recognizing roles, writing inheritable module code, understanding method lookup, and the rules of well-behaved inheritance (Liskov, hooks, shallow hierarchies).
γ»5 minπ - 8.POODR Chapter 8: Combining Objects with Composition
Building objects out of parts β composition vs inheritance, the has-a relationship, modeling with factories and roles, and how to choose between inheritance, modules, and composition.
γ»6 minπ - 9.POODR Chapter 9: Designing Cost-Effective Tests
Writing tests that pay for themselves β what to test, when to test, how to test incoming and outgoing messages, and keeping the test suite cheap to maintain as the design evolves.
γ»6 minπ