## TL;DR
Defines an interface for creating objects, letting subclasses decide which class to instantiate. Defers instantiation to subclasses.
## Core Explanation
Creator (abstract with factory method) + ConcreteCreator + Product interface. In modern code, factory functions (plain functions returning objects) often suffice without class hierarchies. Abstract Factory creates families of related objects (e.g., GUI widgets per platform).
## Further Reading
- [Design Patterns (Gang of Four)](undefined)