El patrón Factory proporciona una forma de crear objetos sin especificar su clase exacta — un método o clase que maneja la creación de objetos, decidiendo qué tipo instanciar. Centraliza y abstrae la creación de objetos, desacoplando el código de las clases concretas.
Qué hace el patrón Factory
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
