Sobes.tech
Junior — Middle

Jaka jest główna funkcja wzorca Factory w programowaniu obiektowym?

sobes.tech AI

Odpowiedź od AI

Wzorzec Factory w programowaniu obiektowym służy do tworzenia obiektów bez konieczności bezpośredniego wskazywania konkretnej klasy tworzonego obiektu. Jego główną funkcją jest enkapsulacja logiki tworzenia obiektów, co pozwala:

  • Pozbyć się sztywnej zależności kodu od konkretnych klas.
  • Uprościć rozbudowę i utrzymanie kodu (np. dodanie nowych typów obiektów).
  • Zcentralizować tworzenie obiektów, co poprawia czytelność i zarządzanie.

Przykład prostego Factory w 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");
    }
}

// Użycie:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Wypisze: Woof