Pertanyaan yang diberi tag «dependency-injection»

Dependency Injection, adalah pola desain di mana dependensi (instance objek, properti) dari suatu komponen diatur melalui konstruktor, metode, atau bidang (properti). Ini adalah bentuk khusus dari inversi ketergantungan yang lebih umum.

4
Cara menangani "ketergantungan melingkar" dalam injeksi ketergantungan
Judulnya bertuliskan "Circular Dependency", tetapi itu bukan kata-kata yang tepat, karena bagi saya desainnya tampak solid. Namun, pertimbangkan skenario berikut ini, di mana bagian biru diberikan dari mitra eksternal, dan oranye adalah implementasi saya sendiri. Juga asumsikan ada lebih dari satu ConcreteMain, tetapi saya ingin menggunakan yang spesifik. (Pada kenyataannya, …

3
Banyak orang membangun satu implementasi. DI putus asa? Gunakan pencari lokasi layanan?
Katakanlah kita memiliki 1001 klien yang membangun dependensi mereka secara langsung daripada menerima suntikan. Refactoring the 1001 bukanlah pilihan menurut bos kami. Kami sebenarnya bahkan tidak diizinkan mengakses sumbernya, hanya file kelas. Apa yang seharusnya kita lakukan adalah "memodernisasi" sistem yang dilalui oleh 1001 klien ini. Kita dapat memperbaiki itu …

5
Apakah mengikuti TDD pasti mengarah ke DI?
Saya belajar melakukan Test Driven Development (TDD), Dependency Injection (DI) dan Inversion of Control (IoC) pada saat bersamaan. Ketika saya menulis kode menggunakan TDD saya selalu berakhir menggunakan DI di konstruktor kelas saya. Saya bertanya-tanya apakah ini karena bagaimana saya belajar melakukan TDD, atau apakah ini adalah efek samping alami …

3
Apakah Injeksi Ketergantungan Orang Miskin adalah cara yang baik untuk memperkenalkan kemampuan uji ke aplikasi warisan?
Pada tahun lalu, saya menciptakan sistem baru menggunakan Dependency Injection dan wadah IOC. Ini mengajari saya banyak hal tentang DI! Namun, bahkan setelah mempelajari konsep dan pola yang tepat, saya menganggapnya sebagai tantangan untuk memisahkan kode dan memperkenalkan wadah IOC ke dalam aplikasi warisan. Aplikasi ini cukup besar sehingga implementasi …

3
MVVM dan pola layanan
Saya sedang membangun aplikasi WPF menggunakan pola MVVM. Saat ini, model tampilan saya memanggil lapisan layanan untuk mengambil model (bagaimana tidak relevan dengan model tampilan) dan mengubahnya menjadi model tampilan. Saya menggunakan injeksi konstruktor untuk melewati layanan yang diperlukan untuk viewmodel. Ini mudah diuji dan berfungsi dengan baik untuk model …

4
Dengan cara ini saya menulis kode ini dapat diuji, tetapi apakah ada yang salah dengan itu saya hilang?
Saya memiliki antarmuka yang disebut IContext. Untuk keperluan ini, tidak masalah apa yang dilakukannya kecuali yang berikut: T GetService<T>(); Apa yang dilakukan metode ini adalah melihat wadah DI aplikasi saat ini dan mencoba untuk menyelesaikan ketergantungan. Cukup standar menurut saya. Dalam aplikasi ASP.NET MVC saya, konstruktor saya terlihat seperti ini. …


6
Mempertanyakan salah satu argumen untuk kerangka kerja injeksi ketergantungan: Mengapa membuat grafik objek sulit?
Kerangka kerja injeksi ketergantungan seperti Google Guice memberikan motivasi berikut untuk penggunaannya ( sumber ): Untuk membangun objek, pertama-tama Anda membangun dependensinya. Tetapi untuk membangun setiap ketergantungan, Anda membutuhkan dependensinya, dan sebagainya. Jadi ketika Anda membangun objek, Anda benar-benar perlu membuat grafik objek. Membuat grafik objek dengan tangan membutuhkan banyak …


4
Apakah injeksi ketergantungan dengan tangan merupakan alternatif yang lebih baik untuk komposisi dan polimorfisme?
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 …

8
Apakah antarmuka yang menampilkan fungsi async adalah abstraksi yang bocor?
Saya membaca buku Prinsip Ketergantungan Injeksi, Praktek, dan Pola dan saya membaca tentang konsep abstraksi bocor yang dijelaskan dengan baik dalam buku ini. Hari ini saya refactoring basis kode C # menggunakan injeksi dependensi sehingga panggilan async digunakan alih-alih memblokir yang. Melakukannya saya sedang mempertimbangkan beberapa antarmuka yang mewakili abstraksi …

4
Istilah teknis untuk menunjukkan kebalikan dari injeksi ketergantungan?
Ini lebih merupakan nomenklatur (penulisan teknis) daripada pertanyaan teknis semata. Saya mencoba menulis proposal refactoring (dan membuatnya ditugaskan untuk diri saya sendiri) yang berpusat pada perluasan injeksi ketergantungan dalam aplikasi kita. Meskipun kami menggunakan Spring untuk kacang autowiring, masih ada contoh yang menggunakan kacang instantiate MyClass obj = new MyClass(...), …



3
IValidatableObject vs Tanggung Jawab Tunggal
Saya suka titik ekstensi MVC, memungkinkan model tampilan untuk mengimplementasikan IValidatableObject, dan menambahkan validasi khusus. Saya mencoba membuat Controllers tetap ramping, memiliki kode ini menjadi satu-satunya logika validasi: if (!ModelState.IsValid) return View(loginViewModel); Misalnya model tampilan masuk mengimplementasikan IValidatableObject, mendapatkan objek ILoginValidator melalui injeksi konstruktor: public interface ILoginValidator { bool UserExists(string …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.