Take the 2-minute tour ×  First, I'm an entry level programmer;
In fact, I'm finishing an A.S. degree with a final capstone
project over the summer. In my new job, when there isn't some
project for me to do (they're waiting to fill the team with more
new hires), I've been given books to read and learn from while I
wait - some textbooks, others not so much (like Code Complete).
After going through these books, I've turned to the internet to
learn as much as possible, and started learning about SOLID and
DI (we talked some about Liskov's substitution principle, but
not much else SOLID ideas). So as I've learned, I sat down to do
to learn better, and began writing some code to utilize DI by
hand (there are no DI frameworks on the development computers).
Thing is, as I do it, I notice it feels familiar... and it seems
like it is very much like work I've done in the past using
composition of abstract classes using polymorphism. Am I missing
a bigger picture here? Is there something about DI (at least by
hand) tha