Practice using sets, maps, and design patterns.
An auto service shop has asked you to design a prototype system for their business. They need the system to be able to keep track of customers and their history. When the system comes up, a user should be able to search for a customer by last name (assume all last names will be unique for this project). If they are an existing customer, the program should allow the user to view their history details 1 entry at a time. If they are a new customer, the program should allow the user to enter them into the system. The shop works solely on Hondas and Nissans.
Your program should have the concept of a customer class. It should contain an abstraction (Interface) for an automobile. Concrete implementations that derive from automobile should be specific to the type of cars the shop works on. In order to make your project extensible. Use a class factory for all automobile creation. A customer can have 1 or more cars that should be stored in a set. The program should use a map to store all of its customers. The key should be the customers last name and the value should be the customer object.
For this problem, do not worry about persisting data to file.
Must be a JavaFX GUI Application and with naming convention as desired and must use factory design pattern for automobile creation.