Junior — Middle
Paaiškinkite 'fabrikos' šablono veikimo principą ir tikslą objektų orientuoto programavimo srityje.
sobes.tech AI
Atsakymas iš AI
„Fabrikos“ (Factory) modelis naudojamas objektų kūrimui be konkrečios kuriamo objekto klasės nurodymo. Jo pagrindinis tikslas yra įdiegti objektų kūrimo logiką, kas palengvina kodo plėtimą ir priežiūrą.
Veikimo principas:
- Klientas kreipiasi į gamyklos metodą arba klasę, kuri grąžina sąsajos arba bazinės klasės objektą.
- Fabrika nusprendžia, kokią konkrečią klasę sukurti, paslėpdama detales nuo kliento.
Pavyzdys C#:
// Produkto sąsaja
interface IAnimal {
void Speak();
}
// Konkrečios prekės
class Dog : IAnimal {
public void Speak() => Console.WriteLine("Gau");
}
class Cat : IAnimal {
public void Speak() => Console.WriteLine("Miau");
}
// Fabrika
class AnimalFactory {
public static IAnimal CreateAnimal(string type) {
return type switch {
"dog" => new Dog(),
"cat" => new Cat(),
_ => throw new ArgumentException("Nežinomas gyvūno tipas")
};
}
}
// Naudojimas
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // Išves "Gau"
Šis požiūris palengvina naujų objektų tipų pridėjimą be kliento kodo keitimo.