Saya sekarang dihadapkan dengan mengintegrasikan wadah inversi kontrol (IoC) ke dalam aplikasi yang sudah ada, dan saya sedang mencari beberapa rekomendasi tentang cara yang paling mudah dicapai dengan tujuan akhir untuk mengurangi kopling, sehingga meningkatkan testabilitas. Meskipun saya umumnya tidak akan mengklasifikasikan sebagian besar kelas sebagai objek dewa , masing-masing memiliki terlalu banyak tanggung jawab dan ketergantungan tersembunyi melalui statika, lajang, dan kurangnya antarmuka.
Berikut ini sedikit latar belakang beberapa tantangan yang perlu dihadapi:
- Injeksi ketergantungan jarang digunakan
- Metode statis berlimpah - baik sebagai metode pabrik dan pembantu
- Lajang cukup lazim
- Antarmuka, saat digunakan, tidak terlalu granular
- Objek sering menarik dependensi yang tidak dibutuhkan melalui kelas dasar
Maksud kami adalah bahwa lain kali kita perlu membuat perubahan di bidang tertentu, bahwa kita mencoba untuk menghilangkan ketergantungan yang, pada kenyataannya, ada tetapi tersembunyi di balik global seperti lajang dan statika.
Saya kira itu membuat wadah IoC sekunder untuk pengenalan injeksi ketergantungan, tetapi saya berharap bahwa ada serangkaian praktik dan rekomendasi yang dapat diikuti atau dipertimbangkan yang akan membantu kita keluar dari dependensi ini.