Alcune delle librerie Java che ho usato finora sembrano avere una Factory per apparentemente ogni altra classe nella libreria. Il progetto Server FTP di Apache, ad esempio, fornisce una classe UserManagerFactory
che consente di configurare un'istanza prototipica della classe UserManager
e di creare copie di tale istanza, almeno presumo / osservo questo comportamento. Tuttavia, il modello Builder o Prototype non sarebbe più adatto per questo caso d'uso? Ho letto il libro dei disegni di design del GoF e sono abbastanza sicuro che usi le fabbriche se devi passare da una famiglia di gerarchie di classi correlate (possibilmente in fase di esecuzione).
Nei progetti che non si concentrano esclusivamente su Java, come le API di Google, vedo molte più classi di builder e mi chiedevo se esistesse una correlazione.
La domanda che sorge dalle mie osservazioni è: confondo questi schemi, non capisco appieno la struttura delle classi delle librerie o il nome di alcune librerie è davvero spento a volte?