Junior — Middle
Kokia yra pagrindinė Factory šablono funkcija objektų orientuoto programavimo srityje?
sobes.tech AI
Atsakymas iš AI
Objektų orientuoto programavimo Factory šablonas skirtas kurti objektus be būtinybės tiesiogiai nurodyti kurią konkrečią klasę naudoti. Jo pagrindinė funkcija yra paslėpti objekto kūrimo logiką, leidžiant:
- pašalinti griežtą priklausomybę nuo konkrečių klasių,
- supaprastinti plėtrą ir priežiūrą (pavyzdžiui, pridėti naujų objektų tipų),
- centralizuoti objektų kūrimą, kas pagerina skaitomumą ir valdymą.
Paprastas Factory pavyzdys Java kalba:
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");
}
}
// Naudojimas:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Išves: Woof