Saya menghadapi masalah dengan kesalahan referensi ketergantungan melingkar di aplikasi web inti .net. Meskipun saya pikir saya memahami masalahnya, saya tidak dapat memikirkan solusi untuk masalah yang saya hadapi, saya telah mencari-cari dan sepertinya juga tidak menemukan orang lain yang mengalami masalah yang sama.
Ini adalah alur logika yang ingin saya capai: 1. Repositori generik yang menangani operasi db CRUD. 2. Di dalam repositori ini terdapat layanan yang melakukan tugas tertentu berdasarkan jenis tindakan db yang terjadi.
Contoh 1 Sebuah record baru disisipkan ke tabel pengguna, ada tugas yang memicu email selamat datang kepada pengguna.
Contoh 2 Sebuah lead dimasukkan ke database, ada tugas yang membuat tugas tindak lanjut untuk admin sistem.
Alasan mengapa semua ini ditangani dengan cara yang umum adalah karena saya ingin menyediakan antarmuka bagi admin aplikasi untuk membuat/memperbarui tugas pemicu ini, maka dalam contoh 1 mengapa saya tidak hanya membuat kode keras email ke pengguna.
Saya menggunakan DI untuk menyelesaikan berbagai layanan dan masalah yang saya alami adalah sebagai berikut:
EntityFrameworkRepository mengimplementasikan IRepository
ITriggerService disuntikkan ke EntityFrameworkRepository, kesalahan dipicu karena saya kemudian mencoba menyuntikkan dan menyelesaikan IRepository di layanan pemicu, bahkan tanpa templateService injeksi ini juga mencoba menyelesaikan IRepository di konstruktornya sendiri. Saat ini saya hanya memiliki kode ITempalteService dan IEmailerService tetapi akan ada banyak 'layanan tindakan pemicu' lainnya yang juga akan digunakan di seluruh kode dan layanan lainnya jadi saya tidak benar-benar ingin mengubah desainnya.
Saya menyadari bahwa ini adalah desain yang buruk berdasarkan semua orang yang telah mengajukan pertanyaan serupa dan tanggapan yang mereka terima, yang tidak dapat saya pahami adalah bagaimana menyelesaikan/merancang solusi yang tepat untuk mencapai tujuan yang diinginkan.
Semua saran diterima!