[Php-objetos] esbozo diagrama de clases (tienda on line)
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mar Mar 31 18:24:35 ART 2009
Hola Omar,
> El 31 de marzo de 2009 15:42, Omar García Giorgini
> <omar.garcia.giorgini en gmail.com> escribió:
> Hola :
>
> El demasiado básico editor de uml que utilicé no hace
> distingción entre agregacion y composicion .... lo resolveré a
> futuro.
Me cacho! Decinos como se llama, así ni lo probamos...
> amén de eso , lo envio asi como esta , sin completar algunas
> cosas ,para que me corrijas sobre la marcha y evites que
> razone fuera del recipiente si fuera el caso .
Está bien encarado.
Te cuento las cosas que veo:
* sacá la palabra "setear". Teniendo un idioma rico, no vale la pena
caer en la confusión de como interpretar "setear". Si vamos a la
técnico, el seteo de un objeto lo hace el constructor, todo lo demás es
comportamiento propio o meros setters y getters que en un diagrama
general, no se ponen.
* los nombres de las clases en singular, salvo que quieras dibujar
específicamente una colección (lo cual no se estila, porque la colección
es un atributo de la clase que contiene las cosas)
* Un pedido "tiene un" cliente: esto es una clara composición, y no otra
relación de conocimiento.
* el método Categorizar() de Etiquetas no me doy cuenta de qué juega. Si
es solo para que el Producto tenga una(s) etiqueta(s), no tendrá
comportamiento y su justificación estará dada para ser parte de la
agregación del Producto.
* en pedidos el método cambiarEstado() no es feliz, porque tenés
restricciones de qué estados son posibles según el estado anterior. Vale
más la pena un método para ir a cada estado... tal vez esto justifique
el uso de un State.
* no le encuentro justificación a la clase "historia": si la tienda
tiene una colección de pedidos, la historia aparece recorriéndolos.
Basta con un método de la tienda que sea mostrarPedidos($unCliente)
* tampoco le veo sentido, desde el punto de vista del comportamiento, a
una clase Stock. La cantidad es un mero atributo del Producto y listo el
pollo.
* a la Tienda le agregaría un getProductos($unTag), porque es un
comportamiento que te va a hacer falta. Si se pueden ver por varios
tags, pues entonces el mensaje que recibe será una colección de tags,
conteniendo los que te hacen falta.
Armá una versión sin la palabra "setear" y vas a ver que es otro mundo!
> Saludos !!
=mente!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-objetos