Factory Method: Flexible Object Creation
Factory Method defines an interface for creating objects but lets subclasses decide which class to instantiate.
Problem It Solves
When you don't know the exact type of object you need until runtime, or when object creation logic is complex.