Quale sarebbe il modo migliore per trascorrere una giornata imparando Guice? [chiuso]

2

Sono appena entrato in un'azienda in cui i principali progetti, incluso quello in cui sono atterrato, usano Guice. Non ho mai usato Guice. Ho familiarità con l'iniezione di dipendenza, sotto forma di CDI (un po ') e l'oscuro ma discreto Nucleo (parte di ATG ).

Abbiamo appena completato una iterazione di successo, quindi domani (venerdì 13!) è un giorno che gli sviluppatori devono spendere per cose che ritengono preziose. Ho alcuni incontri durante il giorno, ma avrò circa quattro o cinque ore per farlo. Ho una macchina tutta per me, con Eclipse installato e configurato di mio gradimento.

Vorrei passare la giornata a imparare Guice.

Come dovrei passare il mio tempo?

(Non sono del tutto sicuro che questa sia una domanda appropriata per i programmatori, ma c'è solo un modo per scoprirlo)

    
posta Tom Anderson 12.01.2012 - 16:43
fonte

2 risposte

1

Trova un piccolo programma che ha una fabbrica e riscrivi il programma in modo che Guice possa iniettare un fornitore che puoi usare al posto della fabbrica.

Si noti che l'oggetto in cui il fornitore o l'istanza deve essere iniettato può non essere creato con un new ma deve essere recuperato da Guice. Questo potrebbe richiedere di rielaborare la logica interna un po '.

    
risposta data 12.01.2012 - 21:29
fonte
0

La mia esperienza con guice è che un ottimo modo per impararlo è solo scegliere alcuni scenari diversi per qualcosa che la tua azienda ha già, pensa a un caso d'uso per ognuno di essi, e lavora per implementarli usando i principi di guizzo.

Quindi, quando sono andato a imparare, ho preso un server REST già esistente su cui avevo lavorato per la mia azienda. Ho deciso di non promuoverlo, dal momento che trovo che l'unico vero modo per apprendere un nuovo toolkit è usarlo su un progetto realistico, e avevamo già creato una suite di test per quel servizio, quindi saprei se ha causato una regressione. Ho fissato una serie di obiettivi per cui volevo portare il progetto con guizzi, i primi tre erano all'incirca:

  1. Usa guizzi per sostituire tutti i vari singleton, DAO, ecc. Essenzialmente oggetti che sono poster-bambini per l'iniezione di dipendenza e dove DI li rende più facili da testare. Ciò significava che dovevo capire come ottenere un guice integrato con junit molto presto, e ho anche fornito l'opportunità di astrarre alcuni moduli che avrei voluto iniettare durante il test e alcuni altri moduli che avrei voluto iniettare durante la produzione.
  2. Ottieni il maggior numero di applicazioni da mostrare utilizzando Grapher il più possibile. Ciò ha anche il vantaggio di ottenere la maggior parte di esso integrato tramite provider , moduli , ecc.
  3. Estrarre la registrazione che stavamo facendo nei metodi di entrata e uscita utilizzando AOP .

Quindi alla fine di questo ho avuto un grande grafico di come le nostre classi interagivano, tutti i test unitari stavano passando, e ho semplificato e migliorato le nostre strutture di registrazione per l'interfaccia REST.

Ho avuto sostanzialmente più di un giorno (e ho anche avuto una lista più lunga, incluso l'integrazione del pezzo di persistenza JPA), ma quelli sembrano aree ragionevoli per cominciare se hai un progetto adatto in giro (o puoi farne uno rapidamente, ad esempio, creando un rapido servizio REST per fare qualcosa che potrebbe essere utile o divertente).

Consiglio vivamente di iniziare con qualcosa che ha dei test o che puoi scrivere velocemente alcuni test di base, dal momento che ti consentiranno di modificare le cose o di sostituire completamente i componenti e assicurarti che tutto funzioni ancora.

Spero che ti aiuti.

    
risposta data 12.01.2012 - 20:19
fonte

Leggi altre domande sui tag