Junior — Middle
Qual é a função principal do padrão Factory na programação orientada a objetos?
sobes.tech IA
Resposta da IA
O padrão Factory na programação orientada a objetos destina-se a criar objetos sem a necessidade de indicar diretamente a classe específica do objeto a ser criado. Sua função principal é encapsular a lógica de criação de objetos, o que permite:
- Eliminar a dependência rígida do código em relação a classes específicas.
- Simplificar a expansão e manutenção do código (por exemplo, adicionar novos tipos de objetos).
- Centralizar a criação de objetos, melhorando a legibilidade e a gestão.
Exemplo simples de Factory em Java:
interface Animal {
void speak();
}
class Dog implements Animal {
public void speak() { System.out.println("Woof"); }
}
class Cat implements Animal {
public void speak() { System.out.println("Meow"); }
}
class AnimalFactory {
public static Animal createAnimal(String type) {
if ("dog".equalsIgnoreCase(type)) return new Dog();
else if ("cat".equalsIgnoreCase(type)) return new Cat();
else throw new IllegalArgumentException("Unknown animal type");
}
}
// Uso:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Vai imprimir: Woof