Object Oriented Programming
Low Level Design Fundamentals
39-module low-level design course built for engineers - from LLD fundamentals and SOLID through UML, the GoF pattern catalogue, architectural patterns, and the design-quality muscle senior engineers use in interviews.
Low Level Design Fundamentals
This isn't a pattern-of-the-week tour. It's a 39-module Low-Level Design curriculum built around how senior engineers actually think about object-oriented design — language fundamentals plus the depth most interview-prep platforms never reach: SOLID at the level you can apply, UML as a design tool (not a documentation chore), the full GoF pattern catalogue with explicit selection heuristics, the architectural patterns interviewers expect at L4–L6 (Repository, Service Layer, Unit of Work, CQRS, Event Sourcing), and the design-quality dimensions (cohesion, coupling, code smells, refactoring, testability) that separate "works" from "well-designed."
You'll work through the fundamentals (classes, inheritance, abstraction, composition, class relationships), the principle stack (DRY/KISS/YAGNI, then all five SOLID principles as full modules with worked refactors), UML for design conversations, the design pattern catalogue (creational, structural, behavioral, additional patterns including DI/MVC/Game Loop, architectural — with explicit selection and combination guidance), the design-quality cluster (readability, cohesion, code smells, refactoring, testing-as-design-feedback), and the systems-design dimensions that senior interviews probe (concurrency, error handling, persistence, validation, observability, resilience, security, performance) — closing with type-driven design, designing for testability, API evolution, and the trade-off frameworks engineers carry into every design decision.
What you will learn
- Object-oriented foundations: classes, inheritance, polymorphism, abstraction, composition
- The five SOLID principles at applied depth — each principle as a full module with worked refactors
- The complete Gang-of-Four pattern catalogue: creational, structural, behavioral — with selection heuristics
- Architectural patterns for application-scale design: Repository, Service Layer, Unit of Work, CQRS, Event Sourcing
- Design quality at senior level: cohesion, coupling, code smells, refactoring, testing-as-design-feedback
- The systems-design dimensions: concurrency, error handling, persistence, validation, observability, resilience
- Type-driven design, designing for testability, and API design and evolution
- Trade-off frameworks for justifying design decisions in interviews and on the job
Course outline
Module 1: LLD Introduction
LLD Introduction — 3 topics.
- What is Low-Level Design? 4 min read
- LLD vs HLD 4 min read
- Types of LLD Interviews 4 min read Pro lesson
Module 2: Classes And Objects
Classes And Objects — 7 topics.
- What is a Class? 11 min read
- Encapsulation 10 min read Pro lesson
- Object Lifecycle 12 min read Pro lesson
- Identity vs Equality 12 min read Pro lesson
- Mutable vs Immutable 12 min read Pro lesson
- Value Objects 13 min read Pro lesson
- Enums 4 min read
Module 3: Inheritance And Polymorphism
Inheritance And Polymorphism — 6 topics.
- Inheritance When It Helps When It Hurts 11 min read Pro lesson
- Polymorphism Static vs Dynamic Dispatch 11 min read Pro lesson
- Abstract Classes vs Interfaces 11 min read Pro lesson
- Method Overriding Contracts and Surprises 12 min read Pro lesson
- Diamond Problem Multiple Inheritance 10 min read Pro lesson
- Inheritance Anti Patterns 12 min read Pro lesson
Module 4: Abstractions And Interfaces
Abstractions And Interfaces — 5 topics.
- What Makes a Good Abstraction 11 min read Pro lesson
- Interface Design Cohesion and Width 11 min read Pro lesson
- Abstraction Boundaries Where to Draw the Line 11 min read Pro lesson
- Hiding Implementation Information Expert Pattern 11 min read Pro lesson
- Leaky Abstractions and How to Spot Them 11 min read Pro lesson
Module 5: Composition Vs Inheritance
Composition Vs Inheritance — 4 topics.
- Why Composition over Inheritance Is Usually Right 10 min read
- Inheritance - When It Genuinely Fits 11 min read Pro lesson
- Composition Patterns: Delegation, Forwarding, Mixins 10 min read Pro lesson
- Refactoring from Inheritance to Composition 10 min read Pro lesson
Module 6: Class Relationships
Class Relationships — 4 topics.
- Association 4 min read Pro lesson
- Aggregation 4 min read Pro lesson
- Dependency 4 min read Pro lesson
- Realization 4 min read Pro lesson
Module 7: Design Principles
Design Principles — 6 topics.
- DRY (Don't Repeat Yourself) 4 min read Pro lesson
- KISS (Keep It Simple, Stupid) 4 min read
- YAGNI (You Aren't Gonna Need It) 4 min read Pro lesson
- Law of Demeter 4 min read Pro lesson
- Separation of Concerns 4 min read Pro lesson
- Composing Objects 4 min read Pro lesson
Module 8: Single Responsibility Principle
Single Responsibility Principle — 5 topics.
- What Single Responsibility Actually Means 10 min read
- Identifying Multiple Responsibilities in a Class 11 min read Pro lesson
- The "Reason to Change" Heuristic 11 min read Pro lesson
- Refactoring Toward SRP: Extract Class 12 min read Pro lesson
- SRP vs Over-Splitting 11 min read Pro lesson
Module 9: Open Closed Principle
Open Closed Principle — 4 topics.
- Open for Extension Closed for Modification 11 min read Pro lesson
- Polymorphism as the OCP Mechanism 11 min read Pro lesson
- Strategy and Plugin Patterns for OCP 11 min read Pro lesson
- The Limits of OCP When to Modify Instead 13 min read Pro lesson
Module 10: Liskov Substitution Principle
Liskov Substitution Principle — 4 topics.
- Substitutability and What It Promises 11 min read Pro lesson
- Preconditions Postconditions Invariants 12 min read Pro lesson
- The Square Rectangle Problem and Its Lessons 11 min read Pro lesson
- LSP Violations in Practice and How to Spot Them 13 min read Pro lesson
Module 11: Interface Segregation Principle
Interface Segregation Principle — 4 topics.
- What Interface Segregation Actually Means 11 min read Pro lesson
- Detecting Fat Interfaces 11 min read Pro lesson
- Role Interfaces and Header Interfaces 11 min read Pro lesson
- Splitting Interfaces in Practice 11 min read Pro lesson
Module 12: Dependency Inversion Principle
Dependency Inversion Principle — 4 topics.
- What Dependency Inversion Actually Means 12 min read
- Abstractions over Concretions 12 min read Pro lesson
- Dependency Inversion in Practice 13 min read Pro lesson
- DIP Ioc Containers and Modern Java 10 min read Pro lesson
Module 13: UML Diagrams
UML Diagrams — 6 topics.
- UML in Practice 5 min read Pro lesson
- Class Diagram 4 min read
- Use-Case Diagram 4 min read Pro lesson
- Sequence Diagram 4 min read Pro lesson
- Activity Diagram 4 min read Pro lesson
- State Machine Diagram 4 min read Pro lesson
Module 14: Creational Patterns
Creational Patterns — 6 topics.
- The Creational Pattern Family 11 min read Pro lesson
- Singleton 11 min read Pro lesson
- Factory Method 11 min read Pro lesson
- Abstract Factory 12 min read Pro lesson
- Builder 13 min read Pro lesson
- Prototype 11 min read Pro lesson
Module 15: Structural Patterns
Structural Patterns — 8 topics.
- The Structural Pattern Family 10 min read Pro lesson
- Adapter 11 min read
- Bridge 12 min read Pro lesson
- Composite 11 min read Pro lesson
- Decorator 11 min read Pro lesson
- Facade 10 min read Pro lesson
- Flyweight 11 min read Pro lesson
- Proxy 11 min read Pro lesson
Module 16: Behavioral Patterns Foundations
Behavioral Patterns Foundations — 4 topics.
- The Behavioral Pattern Family 10 min read Pro lesson
- Strategy 11 min read Pro lesson
- Template Method 11 min read Pro lesson
- Command 10 min read Pro lesson
Module 17: Behavioral Patterns State And Communication
Behavioral Patterns State And Communication — 4 topics.
- State 12 min read Pro lesson
- Observer 10 min read Pro lesson
- Chain of Responsibility 10 min read Pro lesson
- Mediator 10 min read Pro lesson
Module 18: Behavioral Patterns Iteration And Composition
Behavioral Patterns Iteration And Composition — 4 topics.
- Iterator 10 min read Pro lesson
- Visitor 11 min read Pro lesson
- Memento 10 min read Pro lesson
- Interpreter 10 min read Pro lesson
Module 19: Additional Patterns
Additional Patterns — 6 topics.
- Null Object 4 min read Pro lesson
- MVC 4 min read
- Dependency Injection 4 min read Pro lesson
- Game Loop 4 min read Pro lesson
- Thread Pool 4 min read Pro lesson
- Producer-Consumer 4 min read Pro lesson
Module 20: Architectural Patterns
Architectural Patterns — 8 topics.
- Repository Pattern 6 min read Pro lesson
- Service Layer 5 min read Pro lesson
- Unit of Work 5 min read Pro lesson
- Specification Pattern 4 min read Pro lesson
- CQRS 5 min read Pro lesson
- Event Sourcing 5 min read Pro lesson
- Domain Events 5 min read Pro lesson
- Aggregate Roots 5 min read Pro lesson
Module 21: Pattern Selection And Combination
Pattern Selection And Combination — 4 topics.
- Choosing the Right Pattern 4 min read Pro lesson
- Combining Patterns 4 min read Pro lesson
- Patterns Working Against Each Other 4 min read Pro lesson
- When Not to Use a Pattern 4 min read Pro lesson
Module 22: Readability
Readability — 4 topics.
- What Readability Means 11 min read Pro lesson
- Naming 12 min read Pro lesson
- Comments 12 min read Pro lesson
- Visual Structure 12 min read Pro lesson
Module 23: Cohesion And Coupling
Cohesion And Coupling — 4 topics.
- Cohesion Concept to Metric 11 min read Pro lesson
- Types of Cohesion 11 min read Pro lesson
- Coupling Concept to Metric 11 min read Pro lesson
- Connascence 12 min read Pro lesson
Module 24: Code Smells
Code Smells — 4 topics.
- What Code Smells Are 11 min read Pro lesson
- Bloater Smells 11 min read Pro lesson
- OO Abusers and Change Preventers 12 min read Pro lesson
- Dispensables and Couplers 14 min read Pro lesson
Module 25: Refactoring
Refactoring — 4 topics.
- The Discipline of Refactoring 12 min read Pro lesson
- Composing and Decomposing 12 min read Pro lesson
- Restructuring the Object Model 13 min read Pro lesson
- Replacing Patterns 14 min read Pro lesson
Module 26: Testing As Design Feedback
Testing As Design Feedback — 4 topics.
- Why Testability is a Design Property 12 min read Pro lesson
- Test Driven Design 11 min read Pro lesson
- Test Smells 12 min read Pro lesson
- Listening to Tests 13 min read Pro lesson
Module 27: Design Quality Synthesis
Design Quality Synthesis — 4 topics.
- The Continuous Design Loop 11 min read Pro lesson
- Code Review as Design Conversation 12 min read Pro lesson
- Quality Trade-offs 13 min read
- Knowing When You're Done 13 min read Pro lesson
Module 28: Concurrency
Concurrency — 4 topics.
- The Concurrency Problem 12 min read Pro lesson
- Thread Safety Strategies 13 min read Pro lesson
- The Java Concurrency Toolkit 13 min read Pro lesson
- Concurrent Patterns and Antipatterns 13 min read Pro lesson
Module 29: Error Handling
Error Handling — 4 topics.
- The Philosophy of Error Handling 13 min read Pro lesson
- Exception Design 11 min read Pro lesson
- Try Catch Finally Patterns 12 min read Pro lesson
- Failure as a Domain Concept 11 min read Pro lesson
Module 30: Persistence Patterns
Persistence Patterns — 8 topics.
- Repository Pattern Beyond the Basics 4 min read Pro lesson
- Unit of Work Transactional Boundaries 4 min read Pro lesson
- Identity Map 4 min read
- Data Mapper vs Active Record 4 min read Pro lesson
- Specification Pattern for Queries 4 min read Pro lesson
- Lazy Loading vs Eager Loading 4 min read Pro lesson
- The N Plus 1 Problem 4 min read Pro lesson
- Optimistic vs Pessimistic Concurrency 5 min read Pro lesson
Module 31: Validation
Validation — 4 topics.
- What Validation is 11 min read Pro lesson
- Validating at the Right Layer 12 min read Pro lesson
- function Object() { [native code] } Driven Validation 11 min read Pro lesson
- Validation Frameworks and Patterns 11 min read Pro lesson
Module 32: Observability
Observability — 4 topics.
- What Observability is 12 min read Pro lesson
- Logging as Design 11 min read Pro lesson
- Metrics and Tracing 11 min read Pro lesson
- Observability Patterns and Antipatterns 13 min read Pro lesson
Module 33: Resilience Patterns
Resilience Patterns — 8 topics.
- Why Resilience is a Design Concern 4 min read Pro lesson
- Circuit Breaker 4 min read Pro lesson
- Bulkhead 4 min read Pro lesson
- Timeout Strategies 4 min read Pro lesson
- Retry with Backoff and Jitter 4 min read Pro lesson
- Fallback Patterns 4 min read Pro lesson
- Graceful Degradation 4 min read Pro lesson
- The Failure Mode Inventory 4 min read Pro lesson
Module 34: Security
Security — 4 topics.
- Security as a Design Concern 12 min read Pro lesson
- Input Handling and Injection 12 min read Pro lesson
- Authentication and Authorization 12 min read Pro lesson
- Secrets Cryptography and Data Protection 14 min read Pro lesson
Module 35: Performance
Performance — 4 topics.
- Performance as a Design Property 12 min read Pro lesson
- Measuring Before Optimizing 11 min read Pro lesson
- Common Performance Patterns 11 min read Pro lesson
- JVM Specific Performance 12 min read Pro lesson
Module 36: Type Driven Design
Type Driven Design — 6 topics.
- Types as Documentation 4 min read Pro lesson
- Primitive Obsession and Value Objects 4 min read Pro lesson
- Smart Constructors 4 min read Pro lesson
- Making Illegal States Unrepresentable 4 min read Pro lesson
- Phantom Types and Ghost States 4 min read Pro lesson
- Type-Driven Domain Modeling 4 min read Pro lesson
Module 37: Designing For Testability
Designing For Testability — 4 topics.
- Testability as a Design Property 12 min read Pro lesson
- Test Boundaries and Doubles 13 min read Pro lesson
- Designing for Test Boundaries 12 min read Pro lesson
- Test Smells and Antipatterns 13 min read Pro lesson
Module 38: API Design And Evolution
API Design And Evolution — 4 topics.
- Designing Public APIs 12 min read Pro lesson
- API Surface Discipline 13 min read Pro lesson
- Versioning and Evolution 13 min read Pro lesson
- Documentation and Intent 15 min read Pro lesson
Module 39: Trade Off Frameworks
Trade Off Frameworks — 4 topics.
- The Nature of Engineering Trade-offs 12 min read Pro lesson
- Common Axes of Trade-off 12 min read Pro lesson
- Decision Frameworks 13 min read Pro lesson
- Trade-offs in Context 13 min read Pro lesson