I'm in the early stages of building a cryptocurrency tracking app for iOS and looking for a scalable design. My question specifically relates to the element of the app which retrieves data from an API and converts it to objects.
Currently, I have a service layer and a networking layer. The service layer handles a lot at the moment. It constructs the queries, calls upon the networking layer to perform the queries, translates the serialises the received data, passes it to factories, stores the newly created objects and finally, notifies relevant view controllers that the operation completed.
My intention for this layer is for it to simply construct the various queries and initiate the API request using the network manager. I feel that there should be a layer below this which deals with the data once it is received. My question is whether there is an established design pattern like this which I can read more about (I assume there is, I just haven't found it)? Also, what would this layer generally be called? Some sort of controller?