Object-Oriented Design Principles
Refactoring-oriented labs
Design principles as working constraints, not slogans
Each lesson pairs a compact note set with an engine-driven exercise that detects coupling, unsafe hierarchies, and unnecessary complexity.
Lesson Path
Module 01
Extensible Systems
SRP and OCP keep responsibilities narrow and extension points explicit.
#srp#ocp
Module 02
Robust Contracts
LSP, ISP, and DIP make hierarchies honest and dependencies testable.
#lsp#dip
Module 03
Minimalist Architecture
DRY, KISS, and YAGNI keep the codebase small, direct, and easy to change.
#dry#yagni