Junior — Middle
Explique el principio de funcionamiento y el propósito del patrón 'fábrica' en la programación orientada a objetos.
sobes.tech AI
Respuesta de la IA
El patrón «Fábrica» (Factory) se utiliza para crear objetos sin especificar la clase concreta del objeto que se va a crear. Su principal función es encapsular la lógica de creación de objetos, lo que facilita la expansión y el mantenimiento del código.
Principio de funcionamiento:
- El cliente se comunica con un método o clase de fábrica que devuelve un objeto de interfaz o clase base.
- La fábrica decide qué clase concreta crear, ocultando los detalles al cliente.
Ejemplo en C#:
// Interfaz del producto
interface IAnimal {
void Speak();
}
// Productos concretos
class Dog : IAnimal {
public void Speak() => Console.WriteLine("Guau");
}
class Cat : IAnimal {
public void Speak() => Console.WriteLine("Miau");
}
// Fábrica
class AnimalFactory {
public static IAnimal CreateAnimal(string type) {
return type switch {
"dog" => new Dog(),
"cat" => new Cat(),
_ => throw new ArgumentException("Tipo de animal desconocido")
};
}
}
// Uso
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // Imprime "Guau"
Este enfoque facilita la adición de nuevos tipos de objetos sin modificar el código del cliente.