Skip to content

tajbaba999/LLD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LLD - Low Level Design Practice

This repository is for Low Level Design (LLD) and design pattern practice in Java.

HLD topics should be kept in a separate repository. This repo should focus only on class design, object relationships, design patterns, UML, and machine-coding style problems.


Design Patterns Checklist

Use this section to quickly know which design patterns are already covered in this repository and which ones still need to be added.

Done Design Pattern Folder / Example Main Use
[x] Factory Pattern FactoryPattern, Parking_System, Bookmyshow Create objects based on type without exposing creation logic
[x] Singleton Pattern Singleton, Bookmyshow, uber-ride-system Keep only one shared instance of a service/manager
[x] Strategy Pattern StrategyPattern, Parking_System, uber-ride-system Change algorithm/behavior at runtime
[x] Observer Pattern ObserverPattern Notify subscribers when something changes
[x] Decorator Pattern DecoratorPattern Add extra behavior dynamically
[x] Proxy Pattern ProxyPattern Control access to a real object
[x] Adapter Pattern Structural_Pattern/AdapterPattern Make incompatible interfaces work together
[x] Chain of Responsibility ChainofResponsibility, LogProcessor Pass request through a chain of handlers
[x] State Pattern Behavioural_Pattern/StatePattern Change object behavior based on state
[x] Null Object Pattern LLDofNULLobject Avoid null checks using default object behavior
[x] Builder Pattern Creational_Pattern/BuilderPattern Build complex objects step by step
[ ] Composite Pattern Pending File system, menu tree, organization hierarchy
[ ] Command Pattern Pending Undo/redo, remote control, task execution
[ ] Template Method Pattern Pending Fixed algorithm structure with customizable steps
[ ] Facade Pattern Pending Simple interface over a complex subsystem
[ ] Iterator Pattern Pending Traverse collections without exposing internals
[ ] Mediator Pattern Pending Reduce direct dependency between many objects

LLD Problems Checklist

Use this section to track which LLD interview problems are already covered and which ones still need to be implemented.

Done LLD Problem Folder / Status Main Concepts
[x] BookMyShow Bookmyshow Movie, theatre, show, screen, seats, booking flow
[x] Parking Lot Parking_System Vehicle, spot, floor, gate, ticket, payment
[x] Uber / Ride Sharing uber-ride-system Rider, driver, ride, fare, matching
[x] Logger System LogProcessor Log levels, chain of responsibility
[x] Custom HashMap HashMap_Internal_Implementation Hashing, bucket, collision handling
[x] Notification System ObserverPattern Subscribers, notification strategies
[x] Order State Flow Behavioural_Pattern/StatePattern Order lifecycle using state pattern
[x] Association Examples Associations One-to-one, one-to-many, many-to-many
[ ] Elevator System Pending Elevator states, request scheduling, direction handling
[ ] Splitwise Pending Expense sharing, balances, debt simplification
[ ] Vending Machine Pending State pattern, inventory, payment, dispense flow
[ ] ATM Machine Pending Authentication, cash withdrawal, cash inventory
[ ] LRU Cache Pending HashMap, doubly linked list, eviction
[ ] Snake and Ladder Pending Board, dice, players, game loop
[ ] Tic Tac Toe Pending Board, players, winning strategy
[ ] Chess Pending Piece hierarchy, move validation, board state
[ ] Library Management System Pending Books, members, borrowing, fines
[ ] Meeting Scheduler Pending Calendar, time slots, conflict detection
[ ] Hotel Booking Pending Room inventory, date range availability, booking
[ ] Food Delivery LLD Pending Restaurant, menu, cart, order, delivery partner
[ ] File System Pending Composite pattern, file-directory tree
[ ] Rate Limiter LLD Pending Token bucket, sliding window, request limits
[ ] Car Rental System Pending Vehicle inventory, booking, pricing, payment

Note

This repository is only for LLD.

Keep these in a separate HLD repository:

  • URL Shortener
  • WhatsApp / Chat System
  • YouTube / Netflix
  • Instagram / Twitter Feed
  • Uber HLD
  • BookMyShow HLD at scale
  • Payment System HLD
  • Distributed Cache
  • Search Autocomplete
  • Sharding and replication
  • Kafka / message queue systems

About

System design and low-level design implementations in Java.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages