Patrones de diseño: método de fábrica vs fábrica vs fábrica abstracta

Estaba leyendo patrones de diseño de un sitio web.

Allí leí sobre Fábrica, Método de fábrica y Fábrica abstracta, pero son muy confusos, no tengo claro la definición. Segun las definiciones

Fábrica: crea objetos sin exponer la lógica de creación de instancias al cliente y se refiere al objeto recién creado a través de una interfaz común.Es una versión simplificada de Factory Method.

Método de fábrica: define una interfaz para crear objetos, pero permite a las subclases decidir qué clase crear una instancia y se refiere al objeto recién creado a través de una interfaz común.

Abstract Factory: ofrece la interfaz para crear una familia de objetos relacionados, sin especificar explícitamente sus clases.

También miré los otros hilos de stackoverflow relacionados con Abstract Factory vs Factory Method pero los diagramas UML dibujados allí hacen que mi comprensión sea aún peor.

¿Alguien por favor puede decirme?

¿En qué se diferencian estos tres patrones entre sí?¿Cuándo usar cuál?Y también si es posible, ¿algunos ejemplos de java relacionados con estos patrones?

Respuestas a la pregunta(5)

Su respuesta a la pregunta