Factory šablonas suteikia būdą kurti objektus nenurodant jų tikslios klasės — tai metodas arba klasė, kuri tvarko objektų kūrimą, nusprendžiama, kokio tipo egzempliorius sukurti. Jis centralizuoja ir abstraktuoja objektų kūrimą, atskiriant kodą nuo konkrečių klasių.
Ką Factory šablonas daro
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
