Skip to content

Latest commit

 

History

History
96 lines (79 loc) · 4.07 KB

README.md

File metadata and controls

96 lines (79 loc) · 4.07 KB

Low-Level System Design Repository

Welcome to the Low-Level System Design repository! This repository is a comprehensive guide for mastering low-level system design concepts, with a focus on SOLID principles, design patterns, and practical design questions. It is structured to facilitate learning through a combination of theoretical explanations, UML diagrams, practical examples, and hands-on practice questions. The repo contains the collection of Questions generated with the help of ChatGPT.

📁 Repository Structure

The repository is organized into the following key sections:

1. Behavioural Design Patterns

  • Folder Structure:
    LLD/
    └── Behavioural DP/
        ├── Chain of Responsibility DP/
        │   ├── Description.md
        │   ├── Question.md
        │   └── src/
        └── [Other Behavioural Design Patterns]/
    
  • Contents:
    • Description: Provides a detailed introduction to the pattern, including a UML diagram, real-world examples, advantages, disadvantages, and a summary.
    • Question.md: Contains practice questions to test your understanding.
    • src/: Contains the solutions to the practice questions.

2. Structural Design Patterns

  • Folder Structure:
    LLD/
    └── Structural DP/
        ├── [Structural DP 1]/
        ├── [Structural DP 2]/
        └── [Other Structural Design Patterns]/
    
  • Contents:
    • Similar to the Behavioural Design Patterns, this section covers Structural Design Patterns in detail, with descriptions, UML diagrams, practice questions, and solutions.

3. Creational Design Patterns

  • Folder Structure:
    LLD/
    └── Creational DP/
        ├── [Creational DP 1]/
        ├── [Creational DP 2]/
        └── [Other Creational Design Patterns]/
    
  • Contents:
    • Detailed explanations of Creational Design Patterns, along with UML diagrams, examples, practice questions, and solutions.

4. SOLID Principles

  • Folder Structure:
    LLD/
    └── SOLID Principles/
    
  • Contents:
    • A thorough breakdown of the SOLID principles, with explanations, examples, and best practices for applying each principle in your designs.

5. Design Questions

  • Folder Structure:
    LLD/
    └── Design Questions/
    
  • Contents:
    • A collection of low-level design questions to challenge your understanding and application of the concepts covered. Each question comes with an in-depth solution to guide your learning process.

🎯 Purpose

This repository is intended to serve as a one-stop resource for anyone looking to:

  • Master low-level system design concepts.
  • Understand and apply SOLID principles in real-world scenarios.
  • Gain expertise in various design patterns (Behavioural, Structural, and Creational).
  • Practice design questions to prepare for technical interviews or real-world system design tasks.

🚀 Getting Started

To get started with the repository:

  1. Clone the Repository:
    git clone https://github.com/snandkule/LLD.git
    cd LLD
    

Navigate through Sections:

  • Explore the folders for Behavioural, Structural, and Creational design patterns.
  • Start with diving into the design pattern-specific folder to get a solid understanding of each topic.
  • Practice with the Question.md files and compare your solutions with the ones provided in the src/ folders.

💡 Contributing

Contributions are welcome! If you have suggestions, improvements, or additional design patterns and questions, feel free to submit a pull request. Please ensure that your contributions align with the structure and standards set in this repository.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙌 Acknowledgements

Special thanks to the community and all the developers who have shared their knowledge and insights, making this repository possible.