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