This view shows a list of earth quake listings fetching from a sample json.
The view model uses Combine publisher subscribe mechansim to let view know about the data fetch events and update view when data is downloaded
This view has two basic filter types
1- Filter by Magnitude
2- Filter by Depth
When one of type is selected, this view sends out a notification with the type selected, and the previous view model listens to the notification and updates the earth quake list based on the filter selected
This is responsible for fetching earth quake data
This implements two protocols.
A single point of access for shared services like EarthQuakeService
This implements a factory pattern to build views for the app.