Primero, soy un programador de nivel de entrada; De hecho, estoy terminando un título de AS con un proyecto final final durante el verano. En mi nuevo trabajo, cuando no hay algún proyecto para mí (están esperando llenar el equipo con más nuevas contrataciones), me han dado libros para leer y aprender mientras espero: algunos libros de texto, otros no tanto (como Code Complete). Después de leer estos libros, recurrí a Internet para aprender lo más posible y comencé a aprender sobre SOLID y DI (hablamos sobre el principio de sustitución de Liskov, pero no sobre muchas otras ideas SOLID). Entonces, como he aprendido, me senté para aprender mejor y comencé a escribir algo de código para utilizar DI a mano (no hay marcos de DI en las computadoras de desarrollo).
La cosa es que, mientras lo hago, me doy cuenta de que me resulta familiar ... y parece que se parece mucho al trabajo que he hecho en el pasado usando la composición de clases abstractas usando polimorfismo. ¿Me estoy perdiendo una imagen más grande aquí? ¿Hay algo sobre DI (al menos a mano) que vaya más allá de eso? Entiendo la posibilidad de tener configuraciones que no están en el código de algunos marcos DI que tienen grandes beneficios en cuanto a cambiar las cosas sin tener que volver a compilar, pero cuando lo hago a mano, no estoy seguro de si es diferente de lo mencionado anteriormente ... ¡Una idea de esto sería muy útil!