Recentemente ho deciso di iniziare a imparare lo sviluppo iOS e, a tal fine, ho letto Programmazione iOS: The Big Nerd Ranch Guida . Nel libro gli autori descrivono un modello di progettazione MVCS - Model-View-Controller-Store , l'idea di base è che dal momento che molte applicazioni fanno uso di più fonti esterne di dati mantenendo la logica della richiesta nel controller può diventa molto caotico, invece gli autori propongono di spostare tutta la logica della richiesta dal controller e in un oggetto separato.
In breve, per citare il libro
Model-View-Controller-Store puts request logic into a separate object, and we call this object a store (Figure 28.4). Using a store object minimizes redundant code and simplifies the code that fetches and saves data. Most importantly, it moves the logic for dealing with an external source into a tidy class with a clear and focused goal. This makes code easier to understand, which makes it easier to maintain and debug, as well as share with other programmers on your team.
E
The cool thing about asynchronous stores is that even though a lot of objects are doing a lot of work to process a request, the flow of the request and its response are in one place in the controller. This gives us the benefit of code that’s easy to read and also easy to modify.
Volevo scoprire di più su questo modello e vedere cosa avrebbero potuto dire gli altri al riguardo, ma mentre cercavo online gli unici riferimenti che riuscivo a trovare erano quelli di quello stesso libro (lo schema forse è noto con qualche altro nome? ).
Per me la logica dell'autore sembra avere senso, e sembra un'estensione logica del normale pattern MVC, ma forse è perché non ho molta esperienza con il pattern MVC in pratica (oltre all'incursione in iOS sviluppo Ho una sorta di MVV utilizzato con backbone.js (ovvero se lo consideri MVC )).
Speravo che forse qualcuno con più esperienza possa far luce sul fatto che ci siano evidenti difetti / problemi con il pattern MVCS che mi manca.