L'AF e' una classe per creare oggetti. Quali oggetti? Appunto, chi la usa non gli serve saperlo, ma ogni oggetto puo' essere creato con caratteristiche diverse, che dipendono dalla factory.
Facciamo un esempio: ruote tonde, quadrate, triangolari.
A te serve un oggetto per creare le ruote.
Quale forma di ruote? Dipendera' dalla factory che istanzierai.
Poi, il problema e', quali sono le proprieta' delle ruote?
Per quelle tonde il raggio, per quelle quadrate il lato, per quelle triangolari almeno 2 angoli e un lato (non ho detto un triangolo equilatero!).
Sara' responsabilita' della factory, assegnare questi valori alle ruote, e sara' compito di chi istanzia la factory indicare le proprieta' delle ruote da creare.
Chi utilizza la factory (ovviamente non e' detto sia chi l'ha creata), non sa e non deve sapere quale forma ha la ruota, ma solo che e' una ruota!