Sobes.tech
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.