Skip to content

RKG765/SystemDesignLLD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SystemDesignLLD

About This Repository

This repository serves as a personal knowledge base and progress tracker for learning Low-Level Design (LLD) using C++. It documents my understanding of object-oriented design, architectural principles, and standard design patterns through practical coding exercises and study notes.

The code contained here is written for educational purposes to experiment with different design approaches, refactor code based on SOLID principles, and implement specific design patterns from scratch.

What is Low-Level Design (LLD)?

Low-Level Design (or Object-Oriented Design) bridges the gap between high-level architecture and actual code implementation. This repository focuses on:

  • Designing class structures and relationships.
  • Defining interfaces and method signatures.
  • Applying design patterns to solve specific structural problems.
  • Writing code that is modular, readable, and maintainable.

Key Concepts Practiced:

  • Abstraction: Using pure virtual functions in C++ to create a Burger interface.
  • Polymorphism: Handling different object types through a common base pointer.
  • Decoupling: Moving object creation logic into a specific "Factory" class to adhere to the Single Responsibility Principle.

Principles & Technologies

Language: C++

Concepts Covered:

  • OOP Fundamentals: Encapsulation, Abstraction, Inheritance, and Polymorphism.

  • SOLID Principles:

    • Single Responsibility Principle

    • Open/Closed Principle

    • Liskov Substitution Principle

    • Interface Segregation Principle

    • Dependency Inversion Principle

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages