OOP Foundations & SOLID
Build unshakeable object-oriented fundamentals. Understand not just how to write classes, but how to design systems that are easy to change, test, and extend.
OOP Pillars Deep Dive: Encapsulation, Inheritance, Polymorphism, and Abstraction
A staff-engineer guide to the four pillars of object-oriented design — beyond textbook definitions, into the trade-offs that decide whether a class hierarchy survives contact with real requirements.
SOLID Principles: Violations and Fixes
Every SOLID principle explained through a real violation and its refactor — SRP, OCP, LSP, ISP, and DIP — plus the trade-offs of over-applying each one.
Coupling & Cohesion: Measuring What Makes a Design Good
The two qualities that decide whether a codebase stays easy to change: low coupling and high cohesion, with concrete metrics, code examples, and refactoring techniques.
Design by Contract & Invariants
Preconditions, postconditions, and class invariants as a design tool — assertions vs exceptions, defensive programming at boundaries, and the Null Object pattern vs Optional.