The main goals of this assignment are:
- Use serialization to store and load data in different ways using text files, and serialization in JSON, binary and XML formats
- Handle exceptions
- Improve the graphical user interface
- Create generic types
- Use collections with generic objects
- Use polymorphism
- Use interfaces
- Use abstract classes
- Use encapsulation
- Inheritance
- Dynamic binding