
1 minute read
Ejemplo práctico de Herencia vs. Composición
Como comentamos anteriormente, la diferencia entre la herencia y la composición es radical. Mientras que en el primer caso, un objeto pasa a ser un subtipo del objeto del cuál hereda, en el segundo, ambos objetos pueden ser sumamente diferentes entre sí y no guardar ninguna característica en común. El siguiente ejemplo lo demuestra claramente:
<?php class Categoria { public $nombre = ""; } class Producto { public $descripcion = ""; public $categoria = array(); public $precio = 0.0; public function __construct(Categoria $categoria) { $this->categoria = $categoria; } } class PrendaDeVestir extends Producto { public $marca = ""; public $talle = ""; public $color = ""; public $material = ""; } class Libro extends Producto { public $titulo = ""; public $autor = ""; public $editorial = ""; public $paginas = 0; public $encuadernacion = ""; public $anio_edicion = 0; } $categoria = new Categoria(); $categoria->nombre = "Vestimenta"; $pantalon = new PrendaDeVestir($categoria); $pantalon->descripcion = "Pantalón clásico recto"; $pantalon->marca = "Christian Dior"; $pantalon->talle = "XS"; $pantalon->color = "Negro";
Advertisement
$pantalon->material = "Lino"; $pantalon->precio = 978.50; print <<<EOT ===================================================================== DATOS DEL PRODUCTO ===================================================================== CATEGORÍA: {$pantalon->categoria->nombre} PRODUCTO: {$pantalon->descripcion} MARCA: {$pantalon->marca} TALLE: {$pantalon->talle} COLOR: {$pantalon->color} MATERIAL: {$pantalon->material} PRECIO: \$ {$pantalon->precio}.-
EOT; ?>
Programando con Historias de Usuario
Una historia de usuario es aquella que puede escribirse con la siguiente frase:
Como [un usuario], puedo [acción/funcionalidad] para [beneficio]
Por ejemplo: Como administrador del sistema, puedo agregar productos al catálogo para ser visualizados por los clientes.
Muchas veces, puede resultar redundante o hasta incluso carecer de sentido, indicar el beneficio. Por ello, es frecuente describir las historias de usuario, sin incorporar este tercer elemento: Como administrador del sistema, puedo agregar productos al catálogo.
Vale aclarar, que es frecuente encontrar términos como “quiero” o “necesito” en reemplazo de “puedo” cuando se describen las historias de usuario:
Criterios de Aceptación
Es recomendable que cada Historia de Usuario, especifique cuales son los criterios de aceptación, para considerar cumplido el requisito.
Los criterios de aceptación, entonces, no son más que “pautas” o pequeñas “reglas” que una historia de usuario debe respetar para considerarla cumplida. Por ejemplo, para la historia de usuario «Como administrador del sistema necesito agregar productos al catálogo» los criterios de aceptación, podrían ser: