Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Object-Oriented-Design-C++

This repository contains some programs for learning OOD using c++

Resources:-

https://github.com/prasadgujar/low-level-design-primer Parking Lot:

1> https://www.educative.io/courses/grokking-the-object-oriented-design-interview/gxM3gRxmr8Z

2> https://www.geeksforgeeks.org/design-parking-lot-using-object-oriented-principles/

3> https://www.youtube.com/watch?v=DbTdg-Nov50&list=PLGLfVvz_LVvS5P7khyR4xDp7T9lCk9PgE&index=6

4> https://www.codeproject.com/Articles/1137299/Object-Oriented-Analysis-and-Design

5> http://www.math-cs.gordon.edu/courses/cs211/AddressBookExample/index.html

6> https://www.itu.dk/people/slauesen/Papers/Oo-real.pdf

7> https://stackoverflow.com/questions/1100819/how-do-you-design-object-oriented-projects

8> https://www.linkedin.com/pulse/cracking-he-low-level-design-lld-interview-shashi-bhushan-kumar/

9> https://www.bogotobogo.com/DesignPatterns/introduction.php

10> https://refactoring.guru/design-patterns

11 > https://medium.com/must-know-computer-science/basic-design-patterns-in-c-39bd3d477a5c

  1. Resource and booking systems

Pattern: limited resources, time slots, no double booking, fair allocation.

  • Design a Parking Lot
  • Design a Parking Lot - Multi Threaded
  • Design a Simple Elevator System - Multiple Lifts
  • Design Elevator Management System - Single Lift
  • Design an Elevator System - Request Feasibility (Single Lift)
  • Design a Train Platform Management System
  • Design a Meeting Room Reservation System
  • Design a Meeting Room Scheduler - List Bookings
  • Design a Meeting Room Scheduler for Recurrent Meetings
  • Design a Car Rental System
  • Design Locker Management System for Warehouse Packages
  • Design a Movie ticket booking system like BookMyShow
  1. Money, commerce and pricing flows

Pattern: orders, payments, balances, revenue split, leaderboards around money or points.

  • Design a restaurant food ordering system like Zomato, Swiggy, DoorDash
  • Design expense sharing app like Splitwise
  • Design Stock Trading Platform like Zerodha, Groww
  • Design a Shopping Cart
  • Design a Payment Wallet like PayPal
  • Design an order and inventory management system - Multi Threaded
  • Design Product Plan Cost Explorer
  • Design a customer support agent rating leaderboard
  • Design a Leaderboard for Fantasy Teams
  • Design Last Lap Hero (F1 Race Tracker)
  1. Editors, spreadsheets and office tools

Pattern: document state, operations on content, formulas, undo or recalculation.

  • Design a Text Editor or Word Processor like Microsoft Word
  • Design a Text Editor with Undo and Redo
  • Design a Text Editor with cursor operations and Basic Editing
  • Design a Text Editor with cursor operations
  • Design spreadsheet like Microsoft Excel
  • Design Excel Sum Formula
  1. File systems, search and storage

Pattern: hierarchical paths, metadata, indexing, queries on files or logs.

  • Design Unix find command for file search
  • Design Unix find command with boolean predicates
  • Design File System (cd with -)
  • Design File System
  • Design In Memory File System
  • Design File Collections Tracker
  • Design Log Storage System
  1. Search, lookup and dictionaries

Pattern: key based lookup, tries, prefix search.

  • Design Dictionary App to store words and their meanings
  • Design Phone Directory
  • Design Google Search Autocomplete

12 > https://github.com/prasadgujar/low-level-design-primer/blob/master/resources.md

13 > https://workat.tech/machine-coding

13 > https://workat.tech/machine-coding/article/introduction-clean-code-software-design-principles-nwu4qqc63e09

About

This repository contains some programs for learning OOD using c++

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors