Sobes.tech
Junior — Middle

Aká je hlavná funkcia vzoru Factory v objektovo orientovanom programovaní?

sobes.tech AI

Odpoveď od AI

Vzor Factory v objektovo orientovanom programovaní je určený na vytváranie objektov bez nutnosti priameho špecifikovania konkrétnej triedy vytváraného objektu. Jeho hlavnou funkciou je enkapsulácia logiky tvorby objektov, čo umožňuje:

  • odstrániť pevné závislosti kódu od konkrétnych tried,
  • zjednodušiť rozširovanie a údržbu kódu (napríklad pridanie nových typov objektov),
  • centralizovať tvorbu objektov, čo zlepšuje čitateľnosť a správu.

Príklad jednoduchého Factory v Jave:

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žitie:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Vypíše: Woof