Junior — Middle
Explique o princípio de funcionamento e o propósito do padrão 'fábrica' na programação orientada a objetos.
sobes.tech IA
Resposta da IA
O padrão «Fábrica» (Factory) é utilizado para criar objetos sem especificar a classe concreta do objeto a ser criado. A sua principal finalidade é encapsular a lógica de criação de objetos, o que facilita a expansão e manutenção do código.
Princípio de funcionamento:
- O cliente acede a um método ou classe de fábrica que devolve um objeto de interface ou classe base.
- A fábrica decide qual a classe concreta a criar, escondendo os detalhes do cliente.
Exemplo em C#:
// Interface do produto
interface IAnimal {
void Speak();
}
// Produtos concretos
class Dog : IAnimal {
public void Speak() => Console.WriteLine("Auau");
}
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 desconhecido")
};
}
}
// Uso
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // Vai imprimir "Auau"
Este método facilita a adição de novos tipos de objetos sem alterar o código do cliente.