Ejercicio de programación con PHP: Patrones de diseño
1h 0m
Resuelve un ejercicio avanzado que combina Factory y Strategy en PHP para comprobar tus habilidades en patrones de diseño.
Diseña desde cero un sistema en un único archivo PHP que, dada una configuración asociativa con varias 'estrategias' y sus parámetros, cree dinámicamente las estrategias y permita alternarlas en tiempo de ejecución. Cada estrategia debe implementar una interfaz común con un método llamado 'procesarDatos(array $datos): array'. Implementa una fábrica que, mediante un 'match' (u otra técnica equivalente), devuelva una instancia de la clase adecuada al tipo de estrategia solicitado. El sistema contará con una clase principal llamada 'Procesador' que reciba por inyección de dependencias una estrategia concreta y ofrezca el método 'procesar(array $datos): array'. Asegúrate de que sea posible añadir nuevas estrategias sin modificar el código base principal y maneja una excepción si se solicita una estrategia no contemplada en la fábrica. No se admite ningún código inicial: todo el desarrollo debe realizarse desde cero en un único archivo PHP.
Todos los ejercicios de programación de PHP
Evalúa tus conocimientos con ejercicios de programación en PHP de tipo Test, Puzzle, Código y Proyecto con VSCode.
Reto clases y objetos
Tipos de datos, variables y constantes
Reto herencia
Reto archivos en formularios
Reto polimorfismo
Reto arrays
Reto formularios
Reto test con PHPUnit
Reto conexión a bases de datos
Reto transacciones
Reto try catch excepciones
Estructuras de control
Reto sentencias CRUD con PDO
Reto try catch de PDOException
Reto manejo de números
Reto archivos temporales
Calculadora en PHP
Reto sesiones
Reto namespaces
Reto traits
Reto mensajes y redirección en formularios
Reto cookies
Reto fechas y tiempo
Reto cifrado contraseñas
Reto funciones
Reto estructuras de control
Operadores y expresiones
Reto encapsulación avanzada
Autoloading de Clases
Reto cadenas de texto
Reto interfaces
Reto CRUD en PHP
Reto clase Libro
Tutorial para resolver este ejercicio de programación
PHP
Patrones de diseño
Programación Orientada a Objetos