Pertanyaan yang diberi tag «dependency-injection»

Pola desain untuk mengurangi kopling antar komponen, dengan menyuntikkan secara dinamis ke dalam dependensi komponen perangkat lunak yang harus berfungsi.

7
Apakah ServiceLocator anti-pola?
Baru-baru ini saya membaca artikel Mark Seemann tentang anti-pola Service Locator. Penulis menunjukkan dua alasan utama mengapa ServiceLocator merupakan anti-pola: Masalah penggunaan API (yang saya baik-baik saja) Ketika kelas menggunakan pencari Layanan, sangat sulit untuk melihat ketergantungannya karena, dalam banyak kasus, kelas hanya memiliki satu konstruktor PARAMETERLESS. Berbeda dengan ServiceLocator, …


2
InvalidOperationException: Tidak dapat menyelesaikan layanan untuk tipe 'Microsoft.AspNetCore.Http.IHttpContextAccessor'
Saya mulai mengubah proyek asp.net core RC1 saya ke RC2 dan dihadapkan dengan masalah yang sekarang IHttpContextAccessortidak terselesaikan. Demi kesederhanaan, saya membuat proyek ASP.NET RC2 baru menggunakan Visual Studio Template ASP.NET Core Web Application (.Net Framework). Kemudian saya menambahkan konstruktor untuk HomeController yang template dibuat untuk saya. public HomeController(IHttpContextAccessor accessor) …

4
Apa sebenarnya Injeksi Lapangan dan bagaimana menghindarinya?
Saya membaca di beberapa posting tentang Spring MVC dan Portlet bahwa injeksi lapangan tidak disarankan. Seperti yang saya pahami, injeksi lapangan adalah saat Anda menyuntikkan Bean dengan @Autowiredseperti ini: @Component public class MyComponent { @Autowired private Cart cart; } Selama penelitian saya, saya juga membaca tentang injeksi konstruktor : @Component …

21
Haruskah Injeksi Ketergantungan datang dengan mengorbankan Enkapsulasi?
Jika saya mengerti dengan benar, mekanisme khas untuk Injeksi Ketergantungan adalah menyuntikkan baik melalui konstruktor kelas atau melalui properti umum (anggota) kelas. Ini memperlihatkan ketergantungan yang disuntikkan dan melanggar prinsip OOP enkapsulasi. Apakah saya benar dalam mengidentifikasi pengorbanan ini? Bagaimana Anda menangani masalah ini? Silakan lihat juga jawaban saya untuk …

4
Bagaimana cara menyuntikkan dependensi ke objek self-instantiated di Spring?
Katakanlah kita memiliki kelas: public class MyClass { @Autowired private AnotherBean anotherBean; } Kemudian kami membuat objek kelas ini (atau beberapa kerangka kerja lain telah membuat instance dari kelas ini). MyClass obj = new MyClass(); Apakah mungkin masih menyuntikkan dependensi? Sesuatu seperti: applicationContext.injectDependencies(obj); (Saya pikir Google Guice memiliki sesuatu seperti …

4
Spring Expression Language (SpEL) dengan @Value: dollar vs. hash ($ vs. #)
Saya agak bingung kapan harus menggunakan ${...}dibandingkan #{...}. Dokumentasi Spring hanya menggunakan #{...}, tetapi ada banyak contoh yang digunakan ${...}. Selanjutnya, ketika saya mulai dengan SpEL saya diberitahu untuk menggunakan ${...}dan itu berfungsi dengan baik. Bagi yang bingung, contoh bagaimana saya menggunakannya @Component public class ProxyConfiguration { @Value("${proxy.host}") private String …

4
Ioc / DI - Mengapa saya harus mereferensikan semua lapisan / rakitan di titik masuk aplikasi?
(Terkait dengan pertanyaan ini, EF4: Mengapa pembuatan proxy harus diaktifkan saat pemuatan lambat diaktifkan? ). Saya baru mengenal DI, jadi bersabarlah. Saya memahami bahwa penampung bertanggung jawab untuk membuat instance semua jenis terdaftar saya tetapi untuk melakukannya diperlukan referensi ke semua DLL dalam solusi saya dan referensi mereka. Jika saya …

3
ContextLoaderListener atau tidak?
Aplikasi web pegas standar (dibuat oleh Roo atau Template "Proyek MVC Musim Semi") membuat web.xml dengan ContextLoaderListenerdan DispatcherServlet. Mengapa mereka tidak hanya menggunakan DispatcherServletdan membuatnya untuk memuat konfigurasi lengkap? Saya memahami bahwa ContextLoaderListener harus digunakan untuk memuat hal-hal yang tidak relevan dengan web dan DispatcherServlet digunakan untuk memuat hal-hal yang …

4
Untuk apa javax.inject.Named annotation seharusnya digunakan?
Saya mencoba untuk memahami javax.injectpaket dan saya tidak jelas untuk apa javax.inject.Namedanotasi itu digunakan. Javadoc tidak menjelaskan ide di baliknya. Javadoc ada di http://download.oracle.com/javaee/6/api/javax/inject/Named.html Saya menggunakan Spring 3.0 untuk menulis beberapa program sampel, dengan meletakkan @Namedkacang tampaknya menambahkannya ke pabrik kacang tetapi deskripsi Javadoc sangat ringan sehingga saya tidak tahu …


8
Injeksi ketergantungan dengan Jersey 2.0
Memulai dari awal tanpa pengetahuan Jersey 1.x sebelumnya, saya mengalami kesulitan memahami cara mengatur injeksi ketergantungan di proyek Jersey 2.0 saya. Saya juga memahami bahwa HK2 tersedia di Jersey 2.0, tetapi sepertinya saya tidak dapat menemukan dokumen yang membantu integrasi Jersey 2.0. @ManagedBean @Path("myresource") public class MyResource { @Inject MyService …

4
.NET Core DI, cara melewatkan parameter ke konstruktor
Memiliki konstruktor layanan berikut public class Service : IService { public Service(IOtherService service1, IAnotherOne service2, string arg) { } } Apa saja pilihan untuk meneruskan parameter menggunakan mekanisme .NET Core IOC _serviceCollection.AddSingleton<IOtherService , OtherService>(); _serviceCollection.AddSingleton<IAnotherOne , AnotherOne>(); _serviceCollection.AddSingleton<IService>(x=>new Service( _serviceCollection.BuildServiceProvider().GetService<IOtherService>(), _serviceCollection.BuildServiceProvider().GetService<IAnotherOne >(), "" )); Apakah ada cara lain?

16
Apa manfaat dari wadah injeksi ketergantungan?
Saya memahami manfaat injeksi ketergantungan itu sendiri. Mari kita ambil contoh Spring. Saya juga memahami manfaat fitur Spring lainnya seperti AOP, helper dari berbagai jenis, dll. Saya hanya ingin tahu, apa saja manfaat konfigurasi XML seperti: <bean id="Mary" class="foo.bar.Female"> <property name="age" value="23"/> </bean> <bean id="John" class="foo.bar.Male"> <property name="girlfriend" ref="Mary"/> </bean> …

7
Angularjs meminimalkan praktik terbaik
Saya membaca http://www.alexrothenberg.com/2013/02/11/the-magic-behind-angularjs-dependency-injection.html dan ternyata injeksi ketergantungan angularjs bermasalah jika Anda mengecilkan javascript jadi saya Saya bertanya-tanya apakah alih-alih var MyController = function($scope, $http) { $http.get('https://api.github.com/repos/angular/angular.js/commits') .then(function(response) { $scope.commits = response.data }) } kamu harus menggunakan var MyController = ['$scope', '$http', function($scope, $http) { $http.get('https://api.github.com/repos/angular/angular.js/commits') .then(function(response) { $scope.commits = response.data …

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.