Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/06/2013, 07:12
kiko's
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 19 años, 4 meses
Puntos: 36
Respuesta: Modelado de clases y Bases de datos relacionales

Cita:
Iniciado por alvidales Ver Mensaje
La mejor practica para llevar a cabo este modelado es que todo lo que pertenece al cliente, va con el cliente, todo lo que pertenece a la reserva, a la reserva, ahora, ponte a pensar en la relación, un cliente puede tener muchas reservas, y una reserva esta destinada a un unico cliente, recuerda tambien que un cliente puede o no tener una reserva.

Puedes extender la Reserva a Cliente en lugar de a MyMapper, asi cuando declares un objeto de la clase Reserva, esta podra utilizar las funciones del cliente.

No tengo mucho conocimiento como se maneja el Framework Zend pero a mi experiencia con clases es lo que puedo recomendar.
MyMapper por cuestiones de diseño lo tengo que extender sí o sí.... Extender Reserva a Cliente no me termina de convencer.

Cita:
Iniciado por Italico76 Ver Mensaje
Yo modelaria todo (graficamente) primero por ejemplo con MySqlWorkbench que es excelente y gratis

Luego usaria el modelo.... intentar modelar al voleo parece ser la moda ahora con como estan usando el patron ActiveRecord y la verdad no lo comparto.

Me quedo con modelar primero: "primero pienso, luego existo"
El diseño de la base de datos está perfectamente modelado, fue lo primero. El problema es el diseño de los Modelos en PHP y las relaciones entre las tablas de la base de datos. No es un problema de que no sepa hacerlo sino que desde el punto de vista conceptual me gustaría hacerlo bien. En Zend suelen aplicar el patrón ActiveRecord pero a mi no termina de gustar.

Yo querría leer el nombre del cliente de una reserva de una manera elegante: $booking->getCustomerName(); teniendo en cuenta que en la tabla Reservas sólo tendré el id del cliente y que su nombre estará en la tabla Cliente.

Saludos.