Considera che ho un servizio chiamato FileSystem e che questo FileSystem è utilizzato da varie classi in tutta l'applicazione. In genere, il servizio viene acquisito tramite un metodo di classe statico ServiceLocator.getService (FileSystem.class)
Ora considera che ho un gioco di classe, che dipende dall'oggetto FileSystem per aprire alcune risorse dell'interfaccia utente. Il gioco costruirà anche un mondo, usando un WorldFactory. WorldFactory richiede anche il servizio FileSystem.
Ecco dove incontro il problema, costruisco una nuova istanza di WorldFactory - che richiede l'inserimento di un'istanza di FileSystem in esso. Tuttavia, Guice non si inietterà in oggetti che non ha costruito. Quindi WorldFactory rimane senza un FileSystem in esso inserito.
Quindi potrei passare un oggetto FileSystem a WorldFactory ma poi in sostanza Guice non ha risolto nessuno dei miei problemi e ho capito che non ho usato Guice correttamente perché posso fare tutto questo senza di esso?
Quindi si ottiene un'istanza dispari in cui il costruttore di un'entità di gioco richiede di passare un'istanza all'AudioSystem su cui può riprodurre l'audio. Diventa molto caotico con tutti questi oggetti / servizi che vengono esplicitamente passati.
Grazie. Sono ancora nuovo nel guizio e sto cercando di capire come usarlo.