Innanzitutto, sono un programmatore entry level; In effetti, sto finendo una laurea AS con un progetto finale capstone durante l'estate. Nel mio nuovo lavoro, quando non c'è alcun progetto da fare (stanno aspettando di riempire il team con più nuovi assunti), mi sono stati dati dei libri da leggere e da cui imparare mentre aspetto - alcuni libri di testo, altri non così tanto (come il codice completo). Dopo aver esaminato questi libri, mi sono rivolto a Internet per imparare il più possibile e ho iniziato a conoscere SOLID e DI (abbiamo parlato del principio di sostituzione di Liskov, ma non di molte altre idee SOLID). Quindi, come ho imparato, mi sono seduto per fare per imparare meglio e ho iniziato a scrivere del codice per utilizzare DI manualmente (non ci sono framework DI sui computer di sviluppo).
Il fatto è che, mentre lo faccio, noto che mi sembra familiare ... e sembra che sia molto simile al lavoro che ho fatto in passato usando la composizione di classi astratte usando il polimorfismo. Mi sto perdendo un quadro più grande qui? C'è qualcosa in DI (almeno a mano) che va oltre? Capisco la possibilità di avere configurazioni non nel codice di alcuni framework DI che abbiano alcuni grandi benefici per quanto riguarda il cambiamento delle cose senza dover ricompilare, ma quando lo faccio a mano, non sono sicuro che sia diverso da quanto sopra indicato ... Alcuni approfondimenti su questo sarebbe molto utile!