Hace un tiempo pregunté here por ayuda para entender MVC, ya que soy muy nuevo en el tema. Pensé que tenía un entendimiento decente, y esto está documentado en un blog post que escribí recientemente sobre el tema. Mi comprensión básicamente se reduce a esto:MVC: ¿Los modelos y objetos de entidad son conceptos separados?
Controlador: determina qué se debe hacer para cumplir una solicitud y utiliza los modelos que necesita para recopilar/modificar según sea necesario. Básicamente es un gerente para un proceso determinado.
Vistas: Presentación solamente. Una vez que un controlador recopila lo que necesita, crea un tipo específico de vista, le entrega la información y dice "muéstreselo al usuario sin importar cómo lo haga".
Modelos: Comportamiento de la aplicación. Cuando el controlador le pide que extraiga o modifique algo, sabe cómo hacerlo. También sabe desencadenar que otros modelos realicen tareas relacionadas (a mi entender, cuando un modelo intenta "votar por algo" en StackOverflow, ese modelo sabe para preguntar si también se debe otorgar una insignia debido a ello). necesita preocuparse por eso).
Mi pregunta, suponiendo que todo eso sea más o menos exacto, es ¿dónde entran los objetos de entidad? ¿Son los modelos y las entidades lo mismo, con cada objeto sabiendo cómo conservar sus propios datos, o las entidades son un concepto separado que existe por sí mismo y se utiliza en toda la aplicación?
Mi dinero está en este último, ya que esto permitiría a los modelos actuar de forma independiente, mientras que las tres capas (modelo, vista y controlador) podrían utilizar las entidades para pasar datos según sea necesario. Además, los objetos y la persistencia de la base de datos parecen preocupaciones que deberían separarse.
Para ser sincero, cuanto más leo sobre MVC, más confundido me siento. Estoy a punto de tomar el concepto básico (presentación separada de la lógica) y ejecutarlo de la manera que se sienta bien, y no preocuparme demasiado por la etiqueta "MVC".
Lo siento, pero no estoy muy seguro de lo que dices. ¿Podrías reformular eso? – AgentConundrum
realmente lo siento coz de mi inglés ...: P –
Sin preocupaciones. Entonces, ¿estás diciendo que los modelos y las entidades son la misma cosa? Estoy un poco sorprendido por esto, ya que (como dije en mi pregunta) parece que la entidad misma no debería preocuparse por su propia persistencia. – AgentConundrum