Recentemente, decidi começar a aprender o desenvolvimento do iOS e, para esse fim, tenho lido a programação do iOS: o guia Big Nerd Ranch . No livro, os autores descrevem um padrão de design MVCS - Model-View-Controller-Store , uma vez que muitos aplicativos fazem uso de várias fontes externas de dados, mantendo a lógica de solicitação no controlador, pode ficar muito confuso. proponha que mova toda a lógica de solicitação para fora do controlador e para um objeto separado.
Em suma, para citar o livro
Model-View-Controller-Store coloca a lógica da solicitação em um objeto separado, e chamamos esse objeto de loja (Figura 28.4). O uso de um objeto de armazenamento minimiza o código redundante e simplifica o código que busca e salva dados. Mais importante, ele move a lógica para lidar com uma fonte externa em uma classe organizada, com um objetivo claro e focado. Isso facilita a compreensão do código, o que facilita a manutenção e a depuração, além de compartilhar com outros programadores em sua equipe.
E
O interessante dos armazenamentos assíncronos é que, embora muitos objetos estejam trabalhando muito para processar uma solicitação, o fluxo da solicitação e sua resposta estão em um local no controlador. Isso nos oferece o benefício de código fácil de ler e de modificar.
Eu queria descobrir mais sobre esse padrão e ver o que os outros poderiam ter a dizer sobre ele, mas, ao pesquisar on-line, as únicas referências que pude encontrar foram para o mesmo livro (o padrão talvez seja conhecido por outro nome?).
Para mim, a lógica do autor parece fazer sentido, e parece uma extensão lógica do padrão MVC normal, mas talvez seja porque eu realmente não tenha muita experiência com o padrão MVC na prática (além da incursão no desenvolvimento do iOS, eu tenho tipo de MVV usado com backbone.js (ou seja, se você considerar o MVC )).
Eu esperava que talvez alguém com mais experiência pudesse esclarecer se existem falhas / problemas óbvios no padrão MVCS que estou perdendo.