Faz parte do material de SOLID & Design Patterns que eu montei a partir das minhas entrevistas. Abaixo, a resposta em inglês e, quando existe, a pegadinha mais comum.
A resposta, como você fala na entrevista
A function/class that CREATES objects without exposing the creation logic. You say WHAT you want. It decides HOW to build it.
Use when: creating different objects based on a condition, and the caller shouldn't care about the details.
Ler é o primeiro passo. No app, essa pergunta vira flashcard com repetição espaçada, e o módulo tem quiz e simulado para testar o que ficou.
Treinar essa pergunta no app