-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Description
Description
Hi there! 👋
I've been going through the repository and found the existing solutions in Java, Python, and Go incredibly helpful. However, I noticed that we currently don't have implementations for Rust.
With Rust becoming increasingly popular for systems programming and backend development, adding it to this collection would be a great value add for the community.
Proposal
I would like to contribute the Rust equivalents for the existing design patterns and system design problems.
To keep this manageable and easy to review, I propose breaking this work down into smaller, incremental Pull Requests (one pattern/problem per PR).
Roadmap 🗺️
Here is the plan for the implementation. I will update this list as PRs are submitted and merged.
1. Object Oriented Programming
- Classes & Objects
- Interfaces
- Inheritance
- Polymorphism
- Abstraction
- Encapsulation
- Aggregation
- Composition
- Association
2. Design Principles
- Don't Repeat Yourself (DRY)
- Keep It Simple Stupid (KISS)
- You Aren't Gonna Need It (YAGNI)
- Law of Demeter (LoD)
- Single Responsibility Principle (SRP)
- Open/Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- SOLID Principles - Summary
3. UML
- Class Diagram
- Use Case Diagram
- Sequence Diagram
- Activity Diagram
- State Machine Diagram
4. Design Patterns - Creational
- Singleton
- Factory Method
- Abstract Factory
- Builder
- Prototype
5. Design Patterns - Structural
- Adapter
- Facade
- Decorator
- Composite
- Proxy
- Bridge
- Flyweight
6. Design Patterns - Behavioral
- Iterator
- Observer
- Strategy
- Command
- State
- Template Method
- Visitor
- Mediator
- Memento
- Chain of Responsibility
7. LLD Interview Tips
- How to Answer a LLD Interview Question
8. LLD Interview Questions - Easy
- Design Tic Tac Toe
- Design Snake and Ladder game
- Design LRU Cache
- Design Parking Lot
- Design Task Management System
9. LLD Interview Questions - Medium
- Design Stack Overflow
- Design ATM
- Design Logging Framework
- Design Pub Sub System
- Design Elevator System
- Design Splitwise
- Design Vending Machine
- Design Car Rental System
- Design Hotel Management System
- Design a Digital Wallet Service
- Design Airline Management System
- Design Library Management System
- Design Traffic Signal Control System
- Design Concert Ticket Booking System
- Design Social Network Service like Facebook
10. LLD Interview Questions - Hard
- Design Spotify
- Design Amazon
- Design LinkedIn
- Design CricInfo
- Design Chess Game
- Design Coffee Vending Machine
- Design Restaurant Management System
- Design Online Stock Exchange
- Design Course Registration System
- Design Movie Ticket Booking System
- Design Online Auction System
- Design Online Food Delivery Service
- Design Ride-Sharing Service like Uber
Implementation Details
- I will strictly follow the existing directory structure (e.g.,
Low Level Design/Topic/Rust/). - I will ensure the code follows idiomatic Rust practices (using
Traits,Enums, andStructsinstead of traditional Class inheritance where appropriate).
Next Steps
Please let me know if you are open to this addition! If yes, I will start with the Parking Lot problem as a pilot PR to establish the structure.
Looking forward to your feedback.