Sobes.tech
Junior — Middle

Mis on Factory mustri peamine funktsioon objektorienteeritud programmeerimises?

sobes.tech AI

Vastus AI-lt

Objektide suunatud programmeerimises on Factory muster mõeldud objektide loomiseks ilma, et peaks otse määrama loodava objekti konkreetset klassi. Selle peamine funktsioon on kapseldada objekti loomise loogika, mis võimaldab:

  • vabaneda range sõltuvuse koodist konkreetsetest klassidest,
  • lihtsustada koodi laiendamist ja hooldust (näiteks uute objektitüüpide lisamine),
  • keskendada objektide loomine, mis parandab loetavust ja haldamist.

Lihtne Factory näide Java-s:

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

// Kasutamine:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Väljund: Woof