Sobes.tech
Junior — Middle

Care este funcția principală a pattern-ului Factory în programarea orientată pe obiecte?

sobes.tech AI

Răspuns de la AI

Modelul Factory în programarea orientată pe obiecte este destinat pentru crearea obiectelor fără a fi necesar să specificați direct clasa concretă a obiectului creat. Funcția sa principală este încapsularea logicii de creare a obiectelor, ceea ce permite:

  • Eliminarea dependenței rigide a codului față de clase specifice.
  • Simplificarea extinderii și întreținerii codului (de exemplu, adăugarea de noi tipuri de obiecte).
  • Centralizarea creării obiectelor, ceea ce îmbunătățește lizibilitatea și gestionarea.

Exemplu simplu de Factory în 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");
    }
}

// Utilizare:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Va afișa: Woof