Pertama, saya seorang programmer tingkat pemula; Bahkan, saya menyelesaikan gelar AS dengan proyek batu penjuru akhir selama musim panas. Dalam pekerjaan baru saya, ketika tidak ada proyek yang harus saya kerjakan (mereka sedang menunggu untuk mengisi tim dengan lebih banyak karyawan baru), saya telah diberikan buku untuk dibaca dan dipelajari dari saat saya menunggu - beberapa buku teks, yang lain tidak begitu banyak (seperti Code Complete). Setelah membaca buku-buku ini, saya beralih ke internet untuk belajar sebanyak mungkin, dan mulai belajar tentang SOLID dan DI (kami berbicara beberapa tentang prinsip substitusi Liskov, tetapi tidak banyak lagi ide SOLID). Jadi seperti yang telah saya pelajari, saya duduk untuk belajar lebih baik, dan mulai menulis beberapa kode untuk memanfaatkan DI dengan tangan (tidak ada kerangka kerja DI pada pengembangan komputer).
Masalahnya adalah, ketika saya melakukannya, saya perhatikan rasanya akrab ... dan sepertinya itu sangat mirip dengan pekerjaan yang saya lakukan di masa lalu menggunakan komposisi kelas abstrak menggunakan polimorfisme. Apakah saya melewatkan gambar yang lebih besar di sini? Apakah ada sesuatu tentang DI (setidaknya dengan tangan) yang melampaui itu? Saya memahami kemungkinan memiliki konfigurasi bukan dalam kode beberapa kerangka kerja DI yang memiliki manfaat besar sejauh mengubah hal-hal tanpa harus mengkompilasi ulang, tetapi ketika melakukannya dengan tangan, saya tidak yakin apakah itu berbeda dari yang disebutkan di atas ... Beberapa wawasan tentang ini akan sangat membantu!