Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

MVC, duda conceptual, frontera de un modelo.

Estas en el tema de MVC, duda conceptual, frontera de un modelo. en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos! Estoy trabajando con un modelo MVC. Les comento la siguiente duda: Algunas veces, para acceder a distintas condiciones y obtener variada información ...
  #1 (permalink)  
Antiguo 07/06/2010, 04:55
 
Fecha de Ingreso: noviembre-2008
Mensajes: 288
Antigüedad: 15 años, 5 meses
Puntos: 2
MVC, duda conceptual, frontera de un modelo.

Hola a todos!

Estoy trabajando con un modelo MVC.

Les comento la siguiente duda:

Algunas veces, para acceder a distintas condiciones y obtener variada información para luego volcarla en las vistas, debo ampliar los metodos de un modelo con varios require_once a otros modelos. Y entonces creo que ensucio un poco el concepto, ya que cada modelo debiera trabajar solo sobre sí mísmo y no tener que acceder a varios otros modelos para realizar alguna extracción de datos.

¿Cuál es la forma prolija de construir estos trabajos?

Para ser un poco más claro voy a dejar un ejemplo:
Supongamos que tengo Productos, Clientes, Proveedores.
Y tengo un método que extrae los clientes que trabajan con los mismos proveedores y productos. Por lo que en Clientes creo un método donde accediendo a Productos y Proveedores, logro desarrollar la consulta.
Finalmente, entonces, el modelo Clientes accede a otros modelos, y no solo a él mismo.
¿O (me pregunto ahora), toda esa tarea debe hacerse en el Controller? ( tomar todos los clientes, todos los productos, todos los proveedores, y hacer los cruces).

Bueno, espero alguno que tenga bien claros estos temas pueda indicarme la forma correcta de realizar estos modelos. GRACIAS !!!!
  #2 (permalink)  
Antiguo 07/06/2010, 06:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: MVC, duda conceptual, frontera de un modelo.

acabo de leer por ahí algo así: controladores delgados, modelos gordos...

esto quiere decir que toda la lógica de los datos debe ir en el modelo, me parece que no importa si cargas otros modelos por debajo, siempre y cuando tengan relación, herencia, o algo que los haga comportarse de dicha manera...

personalmente no se me hace mal practica tal cual lo haces tu, osea... si un producto pertenece a algún cliente es obvio que se necesita algo mas... si estamos en la clase del cliente, y queremos conocer sus productos un método se encargaría de ello, y si debe cargar el modelo extra adelante!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/06/2010, 08:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: MVC, duda conceptual, frontera de un modelo.

Aparte de lo que comenta Pateketrueke, algo más que se debe de entender es que el Modelo NO es la base de datos, un modelo puede usar una base de datos pero no es como tal el Modelo, ya que muchos autores refieren a la parte del Modelo usando Active Record o Active Table para eso y eso te limita mucho, el modelo debe de ser independiente y por dentro el modelo usar ActiveRecord o usar lo que sea, un WebService un archivo de texto, etc.

Recuerda que programando en MVC el Modelo debe de tener la capacidad de usarse bajo múltiples controladores y múltiples vistas, es decir debe de ser abstracto.

Saludos.
  #4 (permalink)  
Antiguo 07/06/2010, 11:09
 
Fecha de Ingreso: noviembre-2008
Mensajes: 288
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: MVC, duda conceptual, frontera de un modelo.

Bueno, bien. Gracias Pateketrueke y GatorV por aclararme!! Seguire entonces trabajando como hasta ahora. Saludos!!

Etiquetas: modelo, mvc
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:27.