Recientemente decidí comenzar a aprender el desarrollo de iOS, y para este fin he estado leyendo Programación de iOS: la guía Big Nerd Ranch . En el libro, los autores describen un patrón de diseño MVCS - Model-View-Controller-Store , la idea básica es que, dado que muchas aplicaciones utilizan múltiples fuentes externas de datos, mantener la lógica de solicitud en el controlador puede ser muy complicado, en cambio, los autores proponga que mueva toda la lógica de solicitud fuera del controlador y dentro de un objeto separado.
En resumen para citar el libro
Model-View-Controller-Store coloca la lógica de solicitud en un objeto separado, y llamamos a este objeto una tienda (Figura 28.4). El uso de un objeto de tienda minimiza el código redundante y simplifica el código que recupera y guarda datos. Lo más importante, mueve la lógica para tratar con una fuente externa a una clase ordenada con un objetivo claro y enfocado. Esto hace que el código sea más fácil de entender, lo que facilita el mantenimiento y la depuración, así como compartirlo con otros programadores de su equipo.
Y
Lo bueno de las tiendas asíncronas es que, aunque muchos objetos están haciendo un gran trabajo para procesar una solicitud, el flujo de la solicitud y su respuesta están en un solo lugar en el controlador. Esto nos brinda el beneficio de un código que es fácil de leer y también fácil de modificar.
Quería obtener más información sobre este patrón y ver lo que otros podrían decir sobre él, pero mientras buscaba en línea, las únicas referencias que pude encontrar fueron sobre ese mismo libro (¿quizás el patrón se conoce con algún otro nombre?).
Para mí, la lógica del autor parece tener sentido, y parece una extensión lógica del patrón MVC regular, pero tal vez sea porque realmente no tengo mucha experiencia con el patrón MVC en la práctica (aparte de incursionar en el desarrollo de iOS que tengo tipo de MVV usado con backbone.js (es decir, si lo considera MVC )).
Esperaba que tal vez alguien con más experiencia pueda arrojar algo de luz sobre si hay fallas / problemas obvios con el patrón MVCS que me estoy perdiendo.