Editing Combined Patterns New


Implementación del patrón "Abstract factory" + recomendación para el sitio Smart-DPF.


Date: 1:33am on Thursday 28th April 2022

Brandon Juárez Rosas


            	
            		

// Fabrica abstracta // Fabrica concreta - comida setAtributosProducto($nombre,$vendedor,$marca,$precio,$detalles,$estado); return ($p); break; case 2: $p = new Alimento(); $p->setAtributosProducto($nombre,$vendedor,$marca,$precio,$detalles,$estado); return ($p); break; default: return (false); break; } } } ?> // Fabrica concreta - tecnología setAtributosProducto($nombre,$vendedor,$marca,$precio,$detalles,$estado); return ($p); break; case 2: $p = new Celular(); $p->setAtributosProducto($nombre,$vendedor,$marca,$precio,$detalles,$estado); return ($p); break; case 3: $p = new Periferico(); $p->setAtributosProducto($nombre,$vendedor,$marca,$precio,$detalles,$estado); return ($p); break; default: return (false); break; } } } ?> // Fabrica concreta - obsequios setAtributosProducto($nombre,$vendedor,$marca,$precio,$detalles,$estado); return ($p); break; case 2: $p = new Prenda(); $p->setAtributosProducto($nombre,$vendedor,$marca,$precio,$detalles,$estado); return ($p); break; case 3: $p = new Souvenir(); $p->setAtributosProducto($nombre,$vendedor,$marca,$precio,$detalles,$estado); return ($p); break; default: return (false); break; } } } ?> // Super clase producto nombre; } public function getVendedor() { return $this->vendedor; } public function getMarca() { return $this->marca; } public function getPrecio() { return $this->precio; } public function getDetalles() { return $this->detalles; } public function getEstado() { return $this->estado; } // Setters public function setNombre($nombre) { $this->nombre = $nombre; } public function setVendedor($vendedor) { $this->vendedor = $vendedor; } public function setMarca($marca) { $this->marca = $marca; } public function setPrecio($precio) { $this->precio = $precio; } public function setDetalles($detalles) { $this->detalles = $detalles; } public function setEstado($estado) { $this->estado = $estado; } public function setAtributosProducto($nombre,$vendedor,$marca,$precio,$detalles,$estado){ $this->nombre = $nombre; $this->vendedor = $vendedor; $this->marca = $marca; $this->precio = $precio; $this->detalles = $detalles; $this->estado = $estado; } } ?> // Clase concreta Peluche ancho; } public function getAlto(){ return $this->alto; } public function getMaterial(){ return $this->material; } public function setAncho($ancho){ $this->ancho = $ancho; } public function setAlto($alto){ $this->alto = $alto; } public function setMaterial($material){ $this->material = $material; } public function setAtributos($ancho, $alto){ $this->ancho = $ancho; $this->alto = $alto; } } ?> // Clase concreta Prenda talla; } public function getCorte(){ return $this->corte; } public function setTalla($talla){ $this->talla = talla; } public function setCorte($corte){ $this->corte = corte; } public function setAtributos($talla, $corte){ $this->talla = $talla; $this->corte = $corte; } } ?> // Clase concreta Bebida contenidoNeto; } public function getSabor(){ return $this->sabor; } public function setContenidoNeto($contenidoNeto){ $this->contenidoNeto = $contenidoNeto; } public function setSabor($sabor){ $this->sabor = sabor; } public function setAtributos($contenidoNeto,$sabor){ $this->contenidoNeto = $contenidoNeto; $this->sabor = $sabor; } } ?> // Clase concreta Alimento tamanio; } public function getCantidad(){ return $this->cantidad; } public function setTamanio($tamanio){ $this->tamanio = $tamanio; } public function setCantidad($cantidad){ $this->cantidad = $cantidad; } public function setAtributos($tamanio,$cantidad){ $this->tamanio = $tamanio; $this->cantidad = $cantidad; } } ?> // Clase concreta Souvenir ancho; } public function getAlto(){ return $this->alto; } public function getMaterial(){ return $this->material; } public function setAncho($ancho){ $this->ancho = $ancho; } public function setAlto($alto){ $this->alto = $alto; } public function setMaterial($material){ $this->material = $material; } public function setAtributos($ancho, $alto, $material){ $this->ancho = $ancho; $this->alto = $alto; $this->material = $material; } } ?> // Clase concreta Computadora ram; } public function getProcesador(){ return $this->procesador; } public function getBateria(){ return $this->bateria; } public function getAlmacenamiento(){ return $this->almacenamiento; } public function setRam($ram){ $this->ram = $ram; } public function setProcesador($procesador){ $this->procesador = $procesador; } public function setBateria($bateria){ $this->bateria = $bateria; } public function setAlmacenamiento($almacenamiento){ $this->almacenamiento = $almacenamiento; } public function setAtributos($ram,$procesador,$bateria,$almacenamiento){ $this->ram = $ram; $this->procesador = $procesador; $this->bateria = $bateria; $this->almacenamiento = $almacenamiento; } } ?>


Hola a tod@s ! Paso por aquí para compartirles la implementación del patrón abstract factory en el lenguaje PHP, el cual nos encargamos de desarrollar en esta segunda parte de la UEA PIS2. Anteriormente, subí el diagrama de clases de este caso de estudio pero para esas instancias aún no teníamos listo el código, por lo que mi sugerencia para el sistema SMART-DPF es que sería muy útil si el usuario tuviera a su alcance una funcionalidad para poder "editar" los casos de estudio que ha subido a la plataforma, sería muy útil en caso de querer complementarlo con algo extra sin necesidad de subir una nueva publicación o eliminar la anterior.

Comments (1)



@admin | 2022-04-28

¡Excelente día Brandon! Primero que nada muchas gracias por tus comentarios, nos ayudan a crecer y mejorar. La funcionalidad de actualizar casos de estudio estará disponible el día 6 de mayo del 28/04/2022 gracias a su retroalimentación. ¡Saludos!