Junior — Middle
Εξηγήστε την αρχή λειτουργίας και τον σκοπό του μοτίβου 'εργοστάσιο' στον αντικειμενοστραφή προγραμματισμό.
sobes.tech AI
Απάντηση από AI
Το μοτίβο «Factory» (Εργοστάσιο) χρησιμοποιείται για τη δημιουργία αντικειμένων χωρίς να καθορίζεται η συγκεκριμένη κλάση του αντικειμένου που δημιουργείται. Ο κύριος σκοπός του είναι η ενσωμάτωση της λογικής δημιουργίας αντικειμένων, διευκολύνοντας την επέκταση και τη συντήρηση του κώδικα.
Αρχή λειτουργίας:
- Ο πελάτης επικοινωνεί με μια μέθοδο ή κλάση εργοστασίου που επιστρέφει ένα αντικείμενο διεπαφής ή βασικής κλάσης.
- Το εργοστάσιο αποφασίζει ποια συγκεκριμένη κλάση θα δημιουργήσει, κρύβοντας τις λεπτομέρειες από τον πελάτη.
Παράδειγμα σε C#:
// Διεπαφή προϊόντος
interface IAnimal {
void Speak();
}
// Συγκεκριμένα προϊόντα
class Dog : IAnimal {
public void Speak() => Console.WriteLine("Γαβ");
}
class Cat : IAnimal {
public void Speak() => Console.WriteLine("Μιαου");
}
// Εργοστάσιο
class AnimalFactory {
public static IAnimal CreateAnimal(string type) {
return type switch {
"dog" => new Dog(),
"cat" => new Cat(),
_ => throw new ArgumentException("Άγνωστος τύπος ζώου")
};
}
}
// Χρήση
var animal = AnimalFactory.CreateAnimal("dog");
animal.Speak(); // Θα εμφανίσει "Γαβ"
Αυτή η προσέγγιση διευκολύνει την προσθήκη νέων τύπων αντικειμένων χωρίς να αλλάξει ο κώδικας πελάτη.