quarta-feira, 13 de novembro de 2013

O modelo MVC do iOS

O padrão de desenvolvimento do iOS é o modelo MVC (model - view - controller). Recomendo dar uma olhada mais profunda no livro padrões de projeto para um entendimento mais profundo.



Mas vamos dar uma explicada rápida sobre o funcionamento. A chave do padrão é ter uma forte definição de comunicação entre as partes. O controller (controlador) é que pode se comunicar livremente com o model (modelo) e a view (visão). A "faixa contínua" entre a view e o model indica que não é permitida a comunicação entre estas duas entidades.



Mas, quem é quem neste modelo MVC? Pensando numa aplicação típica, o que você vê (a interface) representa a view. É onde colocamos os componentes visuais, como labels, buttons, tables, etc.
O model contém as regras e os dados da aplicação. Imaginando uma aplicação como, por exemplo, o Instagram - as fotos que você tirou, os dados do seu perfil, quem você segue, entre outros, é o model da aplicação.
O controller é a entidade que tem o controle do que deve ser feito. Ele interage tanto com o model quando com a view de forma coordenar a dinâmica da aplicação. Por exemplo, um botão da view pode disparar um método do controller que vai buscar dados novos no model e vai mudar algum componente visual novamente na view. Isto acontece o tempo todo!

Quem é a view no Xcode? O Storyboard. É lá onde vamos colocar os componentes visuais.


Quem é o controller no Xcode? Quando criamos um projeto, o próprio Xcode cria uma classe Objective-C (linguagem usada no iOS) que vai ser o controller.


Quem o model no Xcode? Um projeto novo normalmente não cria um model. É possível ter um model numa única classe Objective-C ou ainda criar um Data Model, mas isso é papo para outro dia.

O importante é você saber que o model é importante e que os dados não podem ser "misturados" com o controller. Tenho visto muitos projetos que fazem isso. Tenha cuidado!

No próximo post vamos ver como são feitos os "links" entre o controller e a view, que são bem importantes para poder fazer as interações necessárias.

Até a próxima.




Um comentário:

  1. Na primeira vez que me deparei com os padrões de projeto (nas aulas de Engenharia de Software) fiquei impressionado com a quantidade e as diversas aplicações. É meio desafiador no começo, mas acho que vale apena conhecer cada um deles.

    ResponderExcluir