9

He leído varios recursos hasta ahora sobre el patrón de diseño MVC para el desarrollo de aplicaciones de iPhone. Sin embargo, tengo una pregunta relacionada con el modelo de parte de MVC en el contexto de desarrollo de iPhone.MVC en el contexto de desarrollo de iPhone

En primer lugar, me gustaría decir lo que pienso de MVC,

Modelo: se relaciona con un conjunto de datos que hemos respecto a los objetos de nuestra aplicación. Ejemplo: Aplicación de un simulador de tren que, cada tren en simulación tendrá sus propios atributos y se guardará dentro del modelo de tren.

Controlador: es algo que controla las actualizaciones de IU. Guarda una referencia al modelo de Tren y comprueba si hay algún cambio en el modelo, si es que cambia la Vista de ese tren en particular. Y sigue comprobando si hay alguna entrada de UI para que pueda cambiar los datos dentro de Model.

View: Esto es bastante obvio Ver todo acerca de UIView, Lo que vemos en la pantalla.

enter image description here

Ahora, la pregunta es ...

¿El modelo tiene que ser persistente para ser considerado como un modelo? o puedo tener una clase que tiene variables sin persistencia. Habría que ser considerado como modelo así, o modelo se debe almacenar en un lugar como en CoreData o .txt, etc ....

Gracias por cualquier entrada!

Respuesta

7

¿El modelo tiene que ser persistente para ser considerado como un modelo?

Puede variar o transformarse mientras su controlador pueda soportarlo.

modelo debe ser almacenado en algún lugar como en CoreData o .txt

No, en absoluto.

Puede usar cualquier Modelo si corresponde. El modelo es solo otra abstracción de su lógica/base de datos/acceso a la red/blablabla ...

+0

Gracias, corto y dulce! – doNotCheckMyBlog

3

No, la idea detrás de MVC no se relaciona con las bases de datos, aunque eso es habitual. El modelo simplemente debe capturar toda la lógica comercial. Si está construyendo una calculadora, vea la pantalla y los botones, el modelo es la parte del código que sabe cómo sumar y restar, y el controlador es el que los conecta. Sin persistencia involucrada.

3

No, un modelo no tiene que ser persistente.

En teoría, una buena forma de comenzar su proyecto sería utilizar un modelo no persistente para simplificar. Luego, cuando cambie su modelo para que sea persistente, no debería tener que realizar ningún cambio en su vista o controlador, ya que diseñará la interfaz para desconocer los detalles del modelo.

En la práctica eso no es una gran idea en el iPhone si usted está planeando utilizar datos básicos para su modelo cuando lo hace persistente. Core Data requiere que diseñe sus clases de una manera un poco diferente. Aunque no deba realizar muchos cambios en la vista y el código del controlador cuando modifique su modelo, tendrá que realizar muchos cambios de código en su modelo. Si sabe que utilizará Core Data, es mejor comenzar de inmediato con él.

Cuestiones relacionadas