J'ai récemment décidé de commencer à apprendre le développement iOS. À cette fin, je lisais Programmation iOS: The Big Nerd Ranch Guide . Dans le livre, les auteurs décrivent un modèle de conception MVCS - Model-View-Controller-Store , l’idée de base étant que, dans la mesure où de nombreuses applications utilisent plusieurs sources de données externes, conserver la logique de la demande dans le contrôleur peut devenir très compliqué. propose de déplacer toute la logique de requête hors de l’automate et dans un objet séparé.
En bref pour citer le livre
Model-View-Controller-Store place la logique de requête dans un objet séparé, que nous appelons magasin (Figure 28.4). L'utilisation d'un objet magasin minimise le code redondant et simplifie le code qui extrait et enregistre des données. Plus important encore, il déplace la logique pour traiter avec une source externe dans une classe ordonnée avec un objectif clair et ciblé. Cela rend le code plus facile à comprendre, ce qui facilite la maintenance et le débogage, ainsi que le partage avec les autres programmeurs de votre équipe.
Et
La bonne chose à propos des magasins asynchrones est que, même si de nombreux objets effectuent beaucoup de travail pour traiter une demande, le flux de la demande et sa réponse se trouvent au même endroit dans le contrôleur. Cela nous donne l'avantage d'un code facile à lire et à modifier.
Je voulais en savoir plus sur ce modèle et voir ce que les autres pourraient en dire, mais lors de la recherche en ligne, les seules références que je pouvais trouver étaient celles du même livre (le modèle est-il peut-être connu sous un autre nom?).
Pour moi, la logique de l'auteur semble avoir du sens, et cela semble être une extension logique du modèle MVC classique, mais c'est peut-être parce que je n'ai pas vraiment beaucoup d'expérience avec le modèle MVC dans la pratique (mis à part une incursion dans le développement iOS). sorte de MVV utilisé avec backbone.js (c'est-à-dire, si vous le considérez MVC )).
J'espérais que peut-être une personne plus expérimentée pourrait nous aider à déterminer s'il existe des défauts / problèmes évidents avec le modèle MVCS qui me manque.