Questa è un'app per iOS, ma cercherò di renderla il più generica possibile perché penso che un vasto pubblico potrebbe avere un buon feedback.
Ho un'applicazione che sto facendo per iOS. Dispone di 4 schede principali in un controller della barra delle linguette. Vi sono tre oggetti del modello principale. Diciamo che sono mela, macchina e orologio. La prima scheda richiede l'accesso a tutte le mele da un'API, la seconda ha bisogno di tutte le auto e la terza ha bisogno di tutti gli orologi. La quarta scheda richiede l'accesso a tutti e tre gli elenchi di oggetti.
Ho già implementato le prime 3 schede e una volta che l'utente va alla prima scheda verrà caricato in tutte le mele, lo stesso per le altre 2 schede. Ma ora, mentre sto iniziando la quarta scheda, non voglio caricare di nuovo tutti gli oggetti (potrei, ma sembra sbagliato).
Andrò avanti e darò quello che penso possa essere corretto e quindi spero di ottenere un feedback se questo è corretto o se c'è una soluzione migliore.
Soluzione proposta : una classe che contiene un elenco di mele, automobili e orologi. Quindi ciascuna scheda otterrà l'elenco necessario da questa classe. Se l'elenco non è stato recuperato, la classe contenente gli elenchi chiamerà l'api per recuperare l'elenco necessario. Quindi immagino un oggetto con 3 oggetti singleton, è questo il design del codice corretto?
Quindi per quanto riguarda la struttura del codice avrei
Modello: - Auto - Apple - Orologio - ListHolder (c'è un modo migliore per nominarlo?)
Controller: - Controller di rete (per chiamare l'api)
Visualizza controller: -I 4 controller di visualizzazione