Learn → Practice
Each topic has a video, key concepts, and practice problems — all in one place.
OOP Foundations
5 topicsMaster the four pillars of Object-Oriented Programming before diving into design.
Encapsulation
Free🎥 VideoHide the how, expose the what
Abstraction
Free🎥 VideoDefine contracts, hide complexity
Composition over Inheritance
Free🎥 VideoPrefer HAS-A over IS-A
Polymorphism
Free🎥 VideoOne interface, many behaviours
Object Relationships
Free🎥 VideoComposition, Aggregation, Association
SOLID Principles
5 topicsThe five principles that make object-oriented code maintainable and extensible.
Single Responsibility
Free🎥 VideoOne class, one reason to change
Open / Closed Principle
Free🎥 VideoOpen for extension, closed for modification
Liskov Substitution
🎥 VideoSubtypes must honour the parent contract
Interface Segregation
🎥 VideoClients shouldn't depend on unused methods
Dependency Inversion
🎥 VideoDepend on abstractions, not concretions
Design Patterns
5 topicsReusable solutions to recurring design problems. Patterns are a vocabulary for design conversations.
Factory Pattern
🎥 VideoCentralise and hide object creation
Builder Pattern
🎥 VideoConstruct complex objects step by step
Singleton Pattern
🎥 VideoGuarantee exactly one instance
Observer Pattern
🎥 VideoNotify many without knowing who
Decorator Pattern
🎥 VideoAdd behaviour at runtime without subclassing
LLD Problems
2 topicsFull system design problems. Apply everything you've learned to real interview scenarios.