Emily's pizza store wants a new application able to help them manage their orders. The store has 5 kinds of different pizzas with different particularities. You can get inspired from here: https://www.webstaurantstore.com/article/101/types-of-pizza.html In the new application a customer service should be able to:
- Place orders taken by phone to backers (cheffs, backoffice, whatever..)
- Be notified when a new order is ready to be delivered
- Allow users to chose from 3 different kinds of extras on their pizzas.
In your implementation the following design patterns are required:
- Singleton
- Builder
- Factory
- Strategy
- Observer
You are allowed not to use one of the required design patterns with one condition: replace it with some other that you like and we didn't cover.
Furthermore, since you might be a design pattern addict, you can add one extra! One that you like the most and suits to this case.
In conclusion, your implementation should have at least 5 design patterns and a maximum of 6 from which 4 should be the required ones.
Good luck! :)