An open API service indexing awesome lists of open source software.

https://github.com/shubhamv108/object-oriented-design

Simple examples of object oriented design.
https://github.com/shubhamv108/object-oriented-design

bowling-alley bowling-game cache chess logger-library multi-level-cache object-oriented-design object-oriented-programming object-pool object-pool-pattern publisher-subscriber publisher-subscriber-pattern snakes-and-ladders task-planner tic-tac-toe vending-machine

Last synced: 4 months ago
JSON representation

Simple examples of object oriented design.

Awesome Lists containing this project

README

        

## High Level Design
The Flow
## Low Level Design
The Execution of the Flow

## Rules
- Attributes are good
- Behavior is must

[Tic Tac Toe](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/tictactoe)
[Snakes and Ladders](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/snakesladdrs2)
[Vending Machine](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/vendingmachine)
[Bowling Alley](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/bowlingalley)
[Publisher Susbcriber](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/messagingsystem)
[Object Pool](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/objectpool)
[Chess](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/chess3/README.md)
[Multi Level Cache](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/multilevelcache)
[Logger](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/logger2)
[Task Planner](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/taskplanner)
[Chat](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/chat)
[AirlineManagement](https://github.com/shubham-v/object-oriented-design/tree/master/src/main/java/airlinemanagement)
[MovieTicketBooking](https://github.com/shubhamv108/object-oriented-design/blob/main/src/main/java/bookmyshow/MovieOnlineTicket.java)
[RateLimiter](https://github.com/shubhamv108/object-oriented-design/blob/main/src/main/java/ratelimiter)
[Splitwise](https://github.com/shubhamv108/object-oriented-design/blob/main/src/main/java/splitwise2)
[Pizza](https://github.com/shubhamv108/object-oriented-design/blob/main/src/main/java/pizza2)
[CabBooking](https://github.com/shubhamv108/object-oriented-design/blob/main/src/main/java/cabbooking)

OO Design Patterns
- Builder Pattern
- Strategy Pattern
- Chain of Responsibility Pattern
- Mix of Strategy Pattern and Chain of Responsibility Pattern
- Factory Pattern
- Singleton Pattern
- Observer Pattern
- State Pattern
- Object Pool
- Command Pattern
- Iterator Pattern
- Pipes & Filters Pattern
- Abstract Factory Pattern
- Facade Pattern