Sobes.tech
Junior — Middle

Mi a Factory minta fő funkciója az objektumorientált programozásban?

sobes.tech MI

Válasz az MI-től

Az objektumorientált programozásban a Factory minta arra szolgál, hogy objektumokat hozzon létre anélkül, hogy közvetlenül meg kellene határozni a létrehozandó objektum konkrét osztályát. Fő funkciója az objektumok létrehozási logikájának kapszulázása, ami lehetővé teszi:

  • a kód szigorú függőségének megszüntetését konkrét osztályoktól.
  • a kód bővítésének és karbantartásának egyszerűsítését (pl. új típusú objektumok hozzáadása).
  • az objektumok létrehozásának központosítását, ami javítja az olvashatóságot és a kezelhetőséget.

Egyszerű Factory példa Java-ban:

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");
    }
}

// Használat:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Kimenet: Woof