Po pierwsze, jestem programistą na poziomie podstawowym; W rzeczywistości kończę stopień naukowy AS końcowym projektem zwieńczenia latem. W mojej nowej pracy, gdy nie ma dla mnie żadnego projektu (czekają, aby zapełnić zespół nowymi pracownikami), dostaję książki do czytania i nauki podczas oczekiwania - niektóre podręczniki, inne nie tak bardzo (jak Code Complete). Po przejrzeniu tych książek zwróciłem się do Internetu, aby dowiedzieć się jak najwięcej, i zacząłem uczyć się o SOLID i DI (rozmawialiśmy trochę o zasadzie substytucji Liskova, ale niewiele innych pomysłów SOLID). Tak więc, jak się nauczyłem, usiadłem, aby się lepiej uczyć, i zacząłem pisać kod, aby ręcznie korzystać z DI (nie ma ram DI na komputerach programistycznych).
Rzecz w tym, że kiedy to robię, zauważam, że czuję się znajomo ... i wygląda na to, że bardzo przypomina pracę, którą wykonywałem w przeszłości, używając kompozycji klas abstrakcyjnych z wykorzystaniem polimorfizmu. Czy brakuje mi tutaj większego obrazu? Czy jest coś w DI (przynajmniej ręcznie), co wykracza poza to? Rozumiem możliwość, że konfiguracje spoza kodu niektórych frameworków DI mają wielkie zalety, jeśli chodzi o zmianę rzeczy bez konieczności ponownej kompilacji, ale robiąc to ręcznie, nie jestem pewien, czy jest inaczej niż podano powyżej ... Wgląd w to byłby bardzo pomocny!