Welcome to the Low-Level Design (LLD) repository. This repository contains various low-level system design problems and their solutions, implemented in Java.
Low-Level Design focuses on the detailed design of individual components of a system, including class diagrams, interactions, object-oriented design principles, and design patterns. In this repository, you will find:
- Problem statements
- Design solutions
- Class diagrams
- Code implementations in Java
This repository is intended to help developers, students, and engineers understand and implement Low-Level Design concepts, emphasizing Object-Oriented Programming (OOP) and design patterns, using Java as the programming language.
We adhere to key OOP and software design principles, including:
- SOLID Principles
- DRY (Don’t Repeat Yourself)
- KISS (Keep It Simple, Stupid)
- YAGNI (You Aren’t Gonna Need It)
In this repository, you will find Java implementations of various design patterns like:
- Creational Patterns (e.g., Singleton, Factory)
- Structural Patterns (e.g., Adapter, Facade)
- Behavioral Patterns (e.g., Observer, Strategy)
Here are some system design examples and solutions included in the repository, implemented in Java:
- Ride-Sharing System
- Hotel Booking System
- Food Delivery System
- Parking Lot System
We welcome contributions! Please follow the below guidelines:
- Fork the repository.
- Make your changes in Java.
- Submit a pull request.
This repository is licensed under the MIT License. See the LICENSE file for more details.