El patrón Factory Method define una interfaz para crear objetos pero deja que las subclases decidan qué clase instanciar. Esto permite flexibilizar el código al permitir que las subclases decidan qué objetos concretos crear. El patrón consiste en un creador que declara un método de fabricación para crear objetos genéricos, y subclases del creador que redefinen este método para devolver instancias de objetos concretos.