Welcome to the Low-Level Design (LLD) repository!
This repo is focused on mastering Object-Oriented Design Principles through Design Patterns, complete with:
- β Real-world examples
- β Java code implementation
- β UML Diagrams
Each folder contains:
UML.pngβ Class diagram for understanding architectureCOR.javaβ Java implementation with real-life scenario
| Pattern | Description |
|---|---|
| Singleton | One and only one instance |
| Factory | Object creation logic abstracted |
| Abstract Factory | Factory of factories |
| Builder | Step-by-step object construction |
| Prototype | Cloning objects |
| Pattern | Description |
|---|---|
| Facade | Simplify complex systems via one interface |
| Adapter | Bridge two incompatible interfaces |
| Decorator | Add functionality at runtime |
| Composite | Treat group of objects as one |
| Proxy | Represent another object |
| Pattern | Description |
|---|---|
| Observer | Event-based trigger/notification |
| Strategy | Switch algorithms at runtime |
| Command | Encapsulate request as object |
| State | Change behavior based on internal state |
| Mediator | Reduce communication complexity |
Each pattern folder contains:
- πΌοΈ A
UML Diagramto visualize the structure - π§βπ» Java code example demonstrating real-life use-case