Factory Method: El Constructor Virtual
Delega la creación de objetos a las subclases — desacopla al cliente de las clases concretas que instancia.
Por qué importa
Cuando dispersas new CSVParser() y new JSONParser() por toda la base de código, atas al cliente a nombres de clases concretas. Cada vez que llega un nuevo formato, debes buscar cada bloque if tipo == "csv". El patrón Factory Method define una interfaz para la creación pero deja que las subclases —o una función de fábrica— decidan qué clase concreta instanciar. Agregar un nuevo tipo no toca ningún código existente.
Cuándo usarlo — y cuándo no
Usa Factory Method cuando una clase no puede anticipar el tipo de objetos que necesita crear, o cuando quieres que las subclases controlen la creación. Evítalo cuando solo tienes una implementación concreta — añade indirección sin beneficio.
💡Conclusión clave
Reemplaza los bloques dispersos if tipo == X: crear X con una única fábrica — agregar nuevos tipos requiere escribir código nuevo, nunca modificar el código existente.
🔧 Algunos ejercicios pueden tener errores. Si algo parece incorrecto, usa el botón Feedback (abajo a la derecha) para reportarlo — nos ayuda a corregirlo rápido.
Pista: Si te encuentras escribiendo 'if tipo == X: crear X' en múltiples lugares, necesitas un Factory Method.
✗ Tu versión