Foros del Web » Programando para Internet » PHP »

PHP OO Duda con asociacion

Estas en el tema de Duda con asociacion en el foro de PHP en Foros del Web. Hola amigos tengo una pregunta: Tengo una clase como lo muestra el diagrama: http://i1187.photobucket.com/albums/...sf3c9b94f.jpeg La duda esta ne la composicion, segun lo que busque los ...
  #1 (permalink)  
Antiguo 25/08/2014, 07:04
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Duda con asociacion

Hola amigos tengo una pregunta:

Tengo una clase como lo muestra el diagrama:
http://i1187.photobucket.com/albums/...sf3c9b94f.jpeg
La duda esta ne la composicion, segun lo que busque los componentes no pueden ser compartidos por varios compuestos, entonces pienso:

Una compra tiene que tener si o si un producto y un proveedor. Pero el mismo producto puede ser comprado en varias compras, entonces como es? Se podria para comprar el mismo producto instanciar mas de una vez la clase compra.

A un proveedor se le puede comprar varias veces, se deberia instanciar varias veces a la c lase compra?

Otra cosa: una clase como compra estando instanciada una vez, se la puede instanciar de vuelta antes de destruirla, osea crear varias instancias en tiempo de ejecucion?

Disculpenme
  #2 (permalink)  
Antiguo 25/08/2014, 08:32
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Duda con asociacion

y la duda es sobre el numero de instancias o sobre como hacer la composición ??
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 25/08/2014, 08:40
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Duda con asociacion

Cita:
Iniciado por giuli956 Ver Mensaje
Hola amigos tengo una pregunta:


Una compra tiene que tener si o si un producto y un proveedor. Pero el mismo producto puede ser comprado en varias compras, entonces como es? Se podria para comprar el mismo producto instanciar mas de una vez la clase compra.
Una compra lo que tiene es 1 o varias unidades de un producto.A menos que trabajes con productos unicos, el "producto" no se refiere a ningun prodiucto "real"."Producto" es la descripción de las unidades reales (que es el Stock del producto).
Cita:
Iniciado por giuli956 Ver Mensaje
A un proveedor se le puede comprar varias veces, se deberia instanciar varias veces a la c lase compra?
Lo que se compran son productos.Los productos tienen relacion con los proveedores.

Cita:
Iniciado por giuli956 Ver Mensaje
Otra cosa: una clase como compra estando instanciada una vez, se la puede instanciar de vuelta antes de destruirla, osea crear varias instancias en tiempo de ejecucion?
Puedes tener tantas instancias de una clase (objetos) como quieras.Pero si en lo que estás pensando es en hacer copias de las compras, estás diseñando mal el sistema.
  #4 (permalink)  
Antiguo 25/08/2014, 08:50
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Duda con asociacion

Cita:
Iniciado por dashtrash Ver Mensaje
Una compra lo que tiene es 1 o varias unidades de un producto.A menos que trabajes con productos unicos, el "producto" no se refiere a ningun prodiucto "real"."Producto" es la descripción de las unidades reales (que es el Stock del producto).

Lo que se compran son productos.Los productos tienen relacion con los proveedores.


Puedes tener tantas instancias de una clase (objetos) como quieras.Pero si en lo que estás pensando es en hacer copias de las compras, estás diseñando mal el sistema.
Si una compra tiene puede tener varias unidades reales como decis vos: "2 martillos", pero en la misma compra pueden haber una lista de productos: "2 martillos, 5 clavos,etc".
Entonces como seria para poder hacer lo anterior? Osea se puede instanciando una compra instanciar varios productos?

Los productos tienen relacion con los proveedores pero con la compra tambien. Si se compra a distintos proveedores: se puede instanciando una vez a compra, instanciar varios proveedores?

La composicion tiene cardinalidad 0 o 1, es decir lo anterior es imposible, entonces lo que me decis del stock es correcto, pero entonces deberia ser una agregacion, y de ser una agregacion debo verificar que el producto exista pero eso lo haria dentro de los metodos de la clase compra.
  #5 (permalink)  
Antiguo 25/08/2014, 11:33
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Duda con asociacion

Cita:
Iniciado por hhs Ver Mensaje
y la duda es sobre el numero de instancias o sobre como hacer la composición ??
Mi duda es si la composicion es correcta... o debe ser agregacion..? Gracias por responder
  #6 (permalink)  
Antiguo 26/08/2014, 07:43
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Duda con asociacion

Cita:
Iniciado por giuli956 Ver Mensaje
Si una compra tiene puede tener varias unidades reales como decis vos: "2 martillos", pero en la misma compra pueden haber una lista de productos: "2 martillos, 5 clavos,etc".

Entonces como seria para poder hacer lo anterior? Osea se puede instanciando una compra instanciar varios productos?
La compra no tiene productos.Una compra consiste en una serie de líneas de compra las cuales contienen, entre otras cosas, el producto.Más cosas que contiene cada línea de compra: número de items, fecha de introducción en el carrito, posible fecha de fin de reserva de los productos, etc,etc.
Supón que un producto se vende en 3 colores.Dónde almacenarías que, en una cierta compra, quero 2 unidades de ese producto, de color "rojo", y otras dos, de color "azul"?
Por otro lado, una cosa es la estructura relacional de un problema (la relacion entre carrito-producto-producto_en_carrito, etc, y otra cosa distinta es "instanciar"."Instanciando una compra , instanciar varios productos" , por supuesto que lo puedes hacer.Es lo que hace el operador "new".

Cita:
Iniciado por giuli956 Ver Mensaje
Los productos tienen relacion con los proveedores pero con la compra tambien. Si se compra a distintos proveedores: se puede instanciando una vez a compra, instanciar varios proveedores?
De nuevo, mezclas "relacion", con "instanciar".Una "relacion" es una propiedad de los datos de un sistema.Una "instanciación" es una operación realizada en tiempo de ejecución de un programa.Una compra tiene relación con productos, no con proveedores.Los productos tienen proveedores, categorias,caracteristicas,stock, peso, ..Eso no significa que una compra tenga "categorias".
  #7 (permalink)  
Antiguo 26/08/2014, 10:30
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Duda con asociacion

Cita:
Iniciado por dashtrash Ver Mensaje
La compra no tiene productos.Una compra consiste en una serie de líneas de compra las cuales contienen, entre otras cosas, el producto.Más cosas que contiene cada línea de compra: número de items, fecha de introducción en el carrito, posible fecha de fin de reserva de los productos, etc,etc.
Supón que un producto se vende en 3 colores.Dónde almacenarías que, en una cierta compra, quero 2 unidades de ese producto, de color "rojo", y otras dos, de color "azul"?
Por otro lado, una cosa es la estructura relacional de un problema (la relacion entre carrito-producto-producto_en_carrito, etc, y otra cosa distinta es "instanciar"."Instanciando una compra , instanciar varios productos" , por supuesto que lo puedes hacer.Es lo que hace el operador "new".


De nuevo, mezclas "relacion", con "instanciar".Una "relacion" es una propiedad de los datos de un sistema.Una "instanciación" es una operación realizada en tiempo de ejecución de un programa.Una compra tiene relación con productos, no con proveedores.Los productos tienen proveedores, categorias,caracteristicas,stock, peso, ..Eso no significa que una compra tenga "categorias".
Si la compra no tiene productos entonces se puede hacer una agregacion, es decir no necesariamente es una composicion.
Entonces instanciar una clases agregada vasrias veces es posible: instanciar a compra y varias veces a producto(solo si es agregacion).
Ademas si te fijas los parametros de los metodos de la clase compra incluyen productos y proveedores.

Gracias..
  #8 (permalink)  
Antiguo 27/08/2014, 07:57
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Duda con asociacion

Cita:
Iniciado por giuli956 Ver Mensaje
Si la compra no tiene productos entonces se puede hacer una agregacion, es decir no necesariamente es una composicion.
Entonces instanciar una clases agregada vasrias veces es posible: instanciar a compra y varias veces a producto(solo si es agregacion).
Ademas si te fijas los parametros de los metodos de la clase compra incluyen productos y proveedores.

Gracias..
Te estás haciendo un lío intentando expresar un problema a base de usar las palabras "agregacion","composicion" e "instanciación", que ni siquiera pertenecen al mismo ámbito.
  #9 (permalink)  
Antiguo 27/08/2014, 14:10
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Duda con asociacion

Pero entonces vos que harias: agregacion o composicion? y porque?

Etiquetas: Ninguno
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 08:01.