«dependency-injection» etiketlenmiş sorular

Dinamik olarak çalışması gereken bir yazılım bileşeni bağımlılığına enjekte ederek bileşenler arasındaki bağlantıyı azaltmak için bir tasarım deseni.

8
Wcf hizmetimde kurucuya nasıl değer iletirim?
Hizmetimi uygulayan sınıftaki kurucuya değerler iletmek istiyorum. Ancak ServiceHost, oluşturucusuna hangi bağımsız değişkenlerin iletileceğini değil, yalnızca oluşturulacak türün adını iletmeme izin veriyor. Hizmet nesnemi oluşturan bir fabrikaya geçebilmek istiyorum. Şimdiye kadar bulduklarım: Aradığımdan daha fazlası olan ve ihtiyaçlarım için aşırı karmaşık görünen WCF Bağımlılık Enjeksiyon Davranışı .

7
Angularjs en iyi uygulamayı küçültür
Http://www.alexrothenberg.com/2013/02/11/the-magic-behind-angularjs-dependency-injection.html okuyorum ve javascript'inizi küçültürseniz, angularjs bağımlılık enjeksiyonunun problemleri olduğu ortaya çıktı. Merak ediyorum yerine var MyController = function($scope, $http) { $http.get('https://api.github.com/repos/angular/angular.js/commits') .then(function(response) { $scope.commits = response.data }) } kullanmalısın 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 }) }] Sonuç olarak, ikinci pasajın …

3
.NET Core DI, parametreleri oluşturucuya aktarmanın yolları
Aşağıdaki hizmet kurucusuna sahip olmak public class Service : IService { public Service(IOtherService service1, IAnotherOne service2, string arg) { } } .NET Core IOC mekanizmasını kullanarak parametreleri geçirme seçenekleri nelerdir? _serviceCollection.AddSingleton<IOtherService , OtherService>(); _serviceCollection.AddSingleton<IAnotherOne , AnotherOne>(); _serviceCollection.AddSingleton<IService>(x=>new Service( _serviceCollection.BuildServiceProvider().GetService<IOtherService>(), _serviceCollection.BuildServiceProvider().GetService<IAnotherOne >(), "" )); Başka bir yolu var mı?

2
Android projesinde DAGGER bağımlılık enjeksiyonunu sıfırdan nasıl kurabilirim?
Dagger nasıl kullanılır? Dagger'ı Android projemde çalışacak şekilde nasıl yapılandırırım? Android projemde Dagger'ı kullanmak istiyorum ama kafa karıştırıcı buluyorum. DÜZENLEME: Dagger2 de 2015 04 15'ten beri çıktı ve daha da kafa karıştırıcı! [Bu soru, Dagger1 hakkında daha fazla şey öğrendikçe ve Dagger2 hakkında daha fazla şey öğrendikçe cevabıma eklediğim bir …

6
Bağımlılık Ekleme için Google Guice ve PicoContainer
Ekibim bağımlılık ekleme çerçevelerini araştırıyor ve Google-Guice ile PicoContainer arasında karar vermeye çalışıyor. Çerçevemizde birkaç şey arıyoruz: Küçük bir kod ayak izi - Küçük bir kod ayak izi ile demek istediğim, kod tabanımızın her yerinde bağımlılık enjeksiyon kodu çöpüne sahip olmak istemiyoruz. Yolda yeniden düzenleme yapmamız gerekirse, olabildiğince kolay olmasını …

4
Hizmette Symfony 2 EntityManager enjeksiyonu
Kendi hizmetimi oluşturdum ve EntityManager doktrinini enjekte etmem gerekiyor, ancak bunun __construct()benim hizmetimde çağrıldığını görmüyorum ve enjeksiyon çalışmıyor. İşte kod ve yapılandırmalar: <?php namespace Test\CommonBundle\Services; use Doctrine\ORM\EntityManager; class UserService { /** * * @var EntityManager */ protected $em; public function __constructor(EntityManager $entityManager) { var_dump($entityManager); exit(); // I've never saw it …


3
AngularJS çekirdeği: JavaScript'i ayrı dosyalara yerleştirme (app.js, controllers.js, directives.js, filters.js, services.js)
Uygulamamı yapılandırmak için açısal çekirdek şablonunu kullanıyorum . Başlangıçta tüm JavaScript kodumu tek bir dosyaya koyuyorum main.js. Bu dosya benim modül bildirimimi, denetleyicileri, yönergeleri, filtreleri ve hizmetleri içeriyordu. Uygulama böyle iyi çalışıyor, ancak uygulamam daha karmaşık hale geldikçe ölçeklenebilirlik ve sürdürülebilirlik konusunda endişeliyim. Açısal çekirdek şablonunun bunların her biri için …

7
Yapıcı parametrelerini Unity'nin Resolve () yöntemine iletebilir miyim?
Bağımlılık ekleme için Microsoft Unity kullanıyorum ve bunun gibi bir şey yapmak istiyorum: IDataContext context = _unityContainer.Resolve<IDataContext>(); var repositoryA = _unityContainer.Resolve<IRepositoryA>(context); //Same instance of context var repositoryB = _unityContainer.Resolve<IRepositoryB>(context); //Same instance of context IDataContext context2 = _unityContainer.Resolve<IDataContext>(); //New instance var repositoryA2 = _unityContainer.Resolve<IRepositoryA>(context2); RepositoryAve RepositoryBher ikisinin de IDataContextparametre alan bir …

7
Bağımlılık Enjeksiyonu ve Tekli Tasarım modeli
Bağımlılık enjeksiyonunu veya tekil kalıbı ne zaman kullanacağımızı nasıl belirleyebiliriz? "Tekil kalıp yerine Bağımlılık enjeksiyonu kullanın" dedikleri birçok web sitesinde okudum. Ama onlara tamamen katılıp katılmadığımdan emin değilim. Küçük veya orta ölçekli projelerim için kesinlikle tekli desen kullanımını basit görüyorum. Örneğin Logger. Kullanabilirim Logger.GetInstance().Log(...) Ama bunun yerine neden oluşturduğum her …

7
@Component'i @ComponentScan'den hariç tut
Ben çıkarmak istediğiniz bir bileşene sahip @ComponentScanbir özellikle @Configuration: @Component("foo") class Foo { ... } Aksi takdirde, projemdeki başka bir sınıfla çatışıyor gibi görünüyor. Çarpışmayı tam olarak anlamıyorum, ancak @Componentek açıklamayı yorumlarsam işler istediğim gibi çalışır. Ancak bu kitaplığa dayanan diğer projeler bu sınıfın Spring tarafından yönetilmesini bekliyor, bu yüzden …

2
Guice'nin enjektöründen açıklamalı örnek nasıl alınır?
Diyelim ki bir modülüm var: Module extends AbstractModule { @Override protected void configure() { bind(String.class). annotatedWith(Names.named("annotation")). toInstance("DELIRIOUS"); } } ve modülü test etmek ve bir sınıf ve alan olmadan Stringnot verilen bir alana doğru değeri enjekte edip etmediğini kontrol etmek istiyorum, Names.named("annotation")ancak değeri doğrudan enjektörden alıyor: @Test public void test() …

6
yeniden açın ve önceden önyüklenmiş bir uygulamaya bağımlılıklar ekleyin
Zaten önyüklenmiş bir açısal modüle geç bağımlılık enjekte etmenin bir yolu var mı? Demek istediğim şu: Site genelinde açısal bir uygulamam olduğunu varsayalım: // in app.js var App = angular.module("App", []); Ve her sayfada: <html ng-app="App"> Daha sonra, mevcut sayfanın ihtiyaçlarına göre mantık eklemek için uygulamayı yeniden açıyorum: // in …

3
Bağımlılık Ekleme için Reader Monad: çoklu bağımlılıklar, iç içe çağrılar
Scala'da Bağımlılık Enjeksiyonu sorulduğunda, pek çok cevap, ya Scalaz'dan gelen ya da sadece kendi başınıza yuvarlanan Reader Monad'ı kullanmaya işaret ediyor. Yaklaşımın temellerini açıklayan bir dizi çok net makale var (örneğin Runar'ın konuşması , Jason'ın blogu ), ancak daha eksiksiz bir örnek bulmayı başaramadım ve bu yaklaşımın örneğin daha fazlasına …

2
Varlıklar / iş nesneleri için bağımlılıkları çözmek için neden bir IoC konteyneri kullanmıyorsunuz?
DI'nın arkasındaki konsepti anlıyorum, ancak sadece farklı IoC konteynerlerinin neler yapabileceğini öğreniyorum. Görünüşe göre çoğu insan, vatansız hizmetleri bağlamak için IoC konteynerlerini kullanmayı savunuyor, ancak bunları varlıklar gibi durum bilgisi olan nesneler için kullanmaya ne dersiniz? Doğru ya da yanlış, bu davranış dışarıdan bir sınıf gerektirse bile, normalde varlıklarımı davranışla …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.