miércoles, 26 de enero de 2011

Parte 1 - MVC para comenzar a programar Cocoa/Objective-C

MVC - Modelo Vista Controlador

La idea con el patrón MVC es dividir la aplicación en estas tres capas.





La capa de Modelo: en el modelo debemos definir de que se trata la aplicación y no como se muestra la aplicación. Si tomamos como ejemplo un juego de naves espaciales, el modelo se refiere a que armas hay, que daño hacen esas armas o en que naves están esas armas.





La capa controlador: Se encarga de como el modelo es presentado al usuario. Es decir que para un iphone el controlador sera diferente que para un ipad porque cada una de las pantallas es diferente.





La capa vista: es quien se encarga de servir al controlador. Es lo que utiliza el controlador para hacer su tarea. Es responsable de como se muestra la información en la pantalla.

¿Puede la vista enviar mensajes al controlador? no exactamente. Los objetos de la vista son genéricos como botones o labels y no queremos que estos importen el .h de nuestro controlador, para esto existen tres mecanismos que hacen posible esta comunicación:

1. Target Action: el controlador maneja un target y una acción en la vista, cuando por ejemplo se toca el botón se manda la acción al target.
2. Delegación: a veces la vista necesita sincronizarse con el controlador o saber que se supone que debería hacer en un caso determinado para esto hay instancias en la vista llamadas delegates que preguntan al controlador que deberían realizar porque necesitan más información para realizar la acción.
3. Data Source: protocolo que permite que la vista disponga de los datos.

La vista no es dueña de los datos que muestra, por eso, si necesita de ellos debe obtenerlos a través del controlador. La función de los controladores es interpretar la información que viene del modelo para poder pasársela a la vista.
El controlador siempre puede comunicarse directamente con el modelo y con la vista, pero la vista con el modelo no pueden hacerlo directamente.

Pdf en ingles: Lecture 1

14 comentarios:

Francisco Rodas dijo...

Ánimo, muy buena la idea de ir plasmando en español poco a poco el curso de standford.

Seguiré de cerca tus post para ir poco a poco aprendiendo a "picar" en objetive-c para cocoa touch.

Saludos!!

Silvina Roldan dijo...

Gracias, la verdad que esta muy bueno el curso de la universidad de stanford y por eso quiero que también este disponible en español.
Saludos!! :)

Anónimo dijo...

Wow y que maravilla! Muchas gracias por compartirlo.

Saludos.

Silvina Roldan dijo...

Gracias! Espero que les sea útil! :)

Blind Pilot dijo...

Muchisimas gracias, justo comenzaba a mirarme los videos del itnesu de stanford. Pensaba que seria genial si estuviera subtitulado.

Mil gracias, ahora entendere un 100%

Ánimos

Blind Pilot dijo...

Muchisimas gracias, justo empiezaba a ver los videos.

Ánimos!

Anónimo dijo...

MUCHAS GRACIAS! Aplaudo enormemente este trabajo, digno de admirar. Mucho ánimo!

Anónimo dijo...

Excelente la idea, no había visto hasta ahora un buen sitio en español para desarrollo IOS. Había visto para android, pero para Iphone todo estaba en ingles, y tengo rollos con los punteros...Se te agradece muchísimo el aporte.

Kaisser dijo...

Ánimo, a ver si sigues con el blog.

Saludos.

Silvina Roldan dijo...

Gracias a todos por sus comentarios!, voy a seguir con el blog en unas semanas :).
Saludos y Gracias!!!

Anónimo dijo...

Muchas gracias por tu trabajo

Anónimo dijo...

Fantástico muchas gracias por GRAN TRABAJO que has realizado.

Anónimo dijo...

Excelente aportación lo de traducirlo todo y que no decaiga ;). Muchas gracias

maisó dijo...

Genial, dejas muy claro los conceptos, gracias por compartirlo.