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?

  • If you want a good answer you probably need to explain the architecture in more detail, possibly using an image.
    – usr
    Mar 7 '18 at 16:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.