Quando si ha a che fare con oggetti che richiedono dati noti solo al runtime, come un nome utente e una password, dove dovrebbe accadere l'istanziazione dell'oggetto: utilizzando nuovo, in fabbrica o in un contenitore DI?Contenitore DI, fabbrica o nuovo per oggetti effimeri?
Per esempio, ho potuto solo new
un oggetto una volta che ho i dati:
UserCredentials creds =
new UserCredentials(dialog.getUsername(), dialog.getPassword());
Oppure, potrei usare una fabbrica:
UserCredentials creds =
CredentialsFactory.create(dialog.getUsername(), dialog.getPassword());
Oppure, potrei utilizzare un provider all'interno di un Contenitore DI (che in questo caso sarebbe essenzialmente un factory parametrico). [Esempio di codice omesso.]
Sembra sia sbagliato usare il contenitore DI per qualcosa di così semplice, ma sembra anche sbagliato non usarlo al massimo.
non avevo nemmeno consapevolmente pensato di fabbrica statica rispetto fabbrica astratta. Grazie per il commento sul valore aggiunto in merito. –