Saya terutama seorang pengembang ASP.NET dan satu-satunya hal yang saya perkenalkan dalam beberapa tahun terakhir yang memiliki dampak paling dramatis pada kualitas kode yang saya tulis telah mempelajari cara menggunakan wadah IoC untuk mengelola dependensi di antara berbagai lapisan aplikasi secara efisien.
Saya baru-baru ini menjadikan hobi saya untuk mempelajari Ruby (dan Rails) untuk proyek-proyek pribadi, dan saya sangat menyukai bahasa ini. Namun, salah satu hal yang saya perhatikan dari berbagai tutorial dan referensi yang telah saya gunakan, adalah bahwa belum ada yang menyebutkan penggunaan IoC. Ini sangat kontras dengan .NET di mana ia berada (dan di mana tidak, harus) dimasukkan ke pengembang pada tahap awal.
Saya menghargai bahwa salah satu alasan mengapa injeksi dependensi mungkin tidak diperlukan di Ruby, adalah bahwa semua yang ada di kelas adalah publik dan virtual sehingga terbuka untuk modifikasi sehingga tidak benar-benar diperlukan untuk menulis tes unit yang baik. Tetapi tentu saja ada banyak manfaat lain untuk menggunakan wadah IOC seperti opsi decoupling yang dibawanya, mengelola pembuatan objek, dan masa pakai dll.
Apakah injeksi ketergantungan digunakan di Ruby? Jika tidak, mengapa ini tidak menjadi masalah?