Το Factory pattern παρέχει έναν τρόπο να δημιουργούνται αντικείμενα χωρίς να καθορίζεται η ακριβής κλάση τους — μια μέθοδος ή κλάση που διαχειρίζεται τη δημιουργία αντικειμένων, αποφασίζοντας ποιος τύπος να δημιουργηθεί. Κεντρικοποιεί και αφαιρεί τη δημιουργία αντικειμένων, αποσυνδέοντας τον κώδικα από συγκεκριμένες κλάσεις.
Τι κάνει το Factory pattern
FACTORY → encapsulate object CREATION (instead of calling constructors directly):
→ a factory method/class decides WHICH class to instantiate and creates it
→ the caller asks the factory for an object (by type/parameter) → gets the right object
WITHOUT knowing/specifying the concrete class
→ decouples code from CONCRETE classes; centralizes creation logic
