Software architecture and design assignment
Used design patterns:
- Factory pattern (creational)
- Adapter pattern (structural)
- Composite pattern (structural)
- Visitor pattern (behavioral)
- Strategy pattern (behavioral)
- State pattern ( behavioral)
- Observer pattern (behavioral)