Sobes.tech
Junior — Middle

Jaká je hlavní funkce vzoru Factory v objektově orientovaném programování?

sobes.tech AI

Odpověď od AI

Vzor Factory v objektově orientovaném programování je určen k vytváření objektů bez nutnosti přímo uvádět konkrétní třídu vytvářeného objektu. Jeho hlavní funkcí je enkapsulace logiky tvorby objektů, což umožňuje:

  • zbavit se pevné závislosti kódu na konkrétních třídách,
  • zjednodušit rozšiřování a údržbu kódu (například přidání nových typů objektů),
  • centralizovat tvorbu objektů, což zlepšuje čitelnost a správu.

Příklad jednoduché Factory v Javě:

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

// Použití:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Vypíše: Woof