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