«dependency-injection» etiketlenmiş sorular

Bağımlılık Enjeksiyonu, bir bileşenin bağımlılıklarının (nesne örnekleri, özellikler) yapıcı (lar), yöntemler veya alanlar (özellikler) aracılığıyla ayarlandığı bir tasarım modelidir. Daha genel bağımlılık tersinin özel bir şeklidir.

4
Bağımlılık enjeksiyonuna kademeli yaklaşımlar
Bağımlılık enjeksiyonunu kullanarak sınıflarımı birim test edilebilir hale getirmeye çalışıyorum. Ancak bu sınıfların bazılarının çok fazla müşterisi var ve henüz bağımlılıkları geçmeye başlamak için hepsini yeniden düzenlemeye hazır değilim. Bu yüzden yavaş yavaş yapmaya çalışıyorum; Şimdilik varsayılan bağımlılıkları koruyor, ancak test için geçersiz kılınmasına izin veriyor. Koyduğum bir yaklaşım, tüm …

1
Programlamada `` çözümleme '' ne anlama geliyor? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 4 yıl önce kapalı . Kelimenin Resolvekullanıldığı birçok yerde , Bağımlılık Enjeksiyonu (bir uygulamayı bir arabirime çözümleme), Paket Yöneticileri (örn: Paket bağımlılıklarını …

5
Bağımlılık enjeksiyonu nasıl kullanılır ve zamansal bağlantıdan nasıl kaçınılır?
Ben Serviceyapıcı yoluyla bağımlılıkları alır ama aynı zamanda kullanılabilmesi için özel veri (bağlam) ile başlatılması gerektiğini varsayalım : public interface IService { void Initialize(Context context); void DoSomething(); void DoOtherThing(); } public class Service : IService { private readonly object dependency1; private readonly object dependency2; private readonly object dependency3; public Service( …

4
Veri Nesneleri İçin Bağımlılık Enjeksiyonu Kullanılsın mı?
Sadece bağımlılık enjeksiyonunu öğreniyorum ve bir şeye takıldım. Bağımlılık Enjeksiyonu, yapıcı aracılığıyla bağımlı sınıflar göndermenizi önerir, ancak bunun veri nesneleri için gerekli olup olmadığını merak ediyorum. Birim-Test Edilebilirlik, DI'nin temel faydalarından biri olduğundan, yalnızca verileri depolayan ve herhangi bir prosedürün hiç bir şekilde test edilmediği bir veri nesnesi olur, bu …

1
Bağımlılık Enjeksiyonu için Python Yöntemi Çözüm Sırasını Kullanma - bu kötü mü?
Raymond Hettinger'in Pycon'unun "Süper Süper Düşünülmüş" konuşmasını izledim ve bir sınıf "ebeveyn" sınıfını belirleyici bir şekilde lineerleştiren Python'un MRO'sunu (Yöntem Çözünürlük Sırası) biraz öğrendim. Bağımlılık enjeksiyonu yapmak için, aşağıdaki kodda olduğu gibi bunu kendi yararımıza kullanabiliriz. Şimdi, doğal olarak, superher şey için kullanmak istiyorum ! Aşağıdaki örnekte Usersınıf, bağımlılıklarını her …

4
Bağımlılık Enjeksiyonu Fabrika deseni ile birlikte nasıl kullanılır
Herhangi bir türdeki dosyaları ayrıştırmaktan sorumlu bir modül düşünün. Zaten üzerinde açıkladığım gibi ben bu sorunu çözmek için strateji deseni kullanarak düşünüyorum burada . Bu soruya devam etmeden önce lütfen bağlantılı gönderiye bakın. Product.xml dosyasının içeriğine ihtiyaç duyan B sınıfını düşünün. Bu sınıfın XML dosyasını ayrıştırmak için Parser arabiriminin uygun …

5
Strateji modeli ve bağımlılık enjeksiyonunu kullanarak kalıtımın yerini tamamen alabilir miyiz?
Örneğin: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Duck sınıfı tüm davranışları (soyut) içerdiğinden, MallardDuck(genişleten Duck) yeni bir sınıf oluşturmak gerekli görünmemektedir. Referans: İlk Baş Tasarım Deseni, Bölüm 1.

3
Bağımlılık Enjeksiyonu: Tüm parçalarını tutmak için bir Araba sınıfı oluşturmalı mıyım?
Benim C ++ uygulamasında bir RaceTrack withing bulunan birçok araba var. Her araba yüzlerce parçadan oluşur. Her bölüm bir veya iki bölüme bağlıdır. DI ve Mark Seemann'ın kitabında birçok SO sorusu okudum ve sadece araba parçalarını tutmak için bir Araba sınıfı tanımlamamalıyım çünkü tüm araba parçaları birbirine bağlı olacak ve …

1
Guice'deki @ImplementedBy ek açıklamasının ardındaki motivasyon nedir?
Kısa süre önce Google Guice'de sunulan @ImplementedByek açıklamaları okudum . Programlayıcının, bağımlılık enjeksiyonunda ileride kullanmak üzere bir arayüz ve uygulaması arasında bir bağ belirlemesini sağlar. Tam zamanında bağlama örneğidir . Aşağıdaki sözdizimini kullanarak, modüllerimdeki açık bağlantıları tanımlamaya alışkınım: bind(SomeInterface.class).to(SomeInterfaceImplementation.class); Belgelere göre, bu, @ImplementedByek açıklamanın aşağıdaki kullanımına eşdeğerdir : @ImplementedBy(SomeInterfaceImplementation.class) public …

1
Çoklu Zend uygulama kodu organizasyonu
Geçtiğimiz yıl, hepsi Zend çerçevesine dayanan ve tüm uygulamaları kullanmasalar bile erişmesi gereken karmaşık bir iş mantığına odaklanmış bir dizi uygulama üzerinde çalışıyorum (her biri için birden fazla kütüphane klasörüne sahip olmaktan daha kolay hepsi ortak bir merkez ile bağlantılı olduğu için uygulama). Projenin özellikle ne hakkında olduğu hakkında çok …

4
Bağımlılık enjeksiyonu dile nasıl entegre edilebilir? [kapalı]
Kapalı . Bu sorunun daha fazla odaklanması gerekiyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu, yalnızca bu yayını düzenleyerek tek bir soruna odaklanacak şekilde güncelleyin . 4 yıl önce kapalı . Biraz bağımlılık enjeksiyonunun doğrudan C # diline nasıl daha iyi entegre edilebileceğini düşünüyordum. Fikrinizi …

3
DI / IoC konteynerini mevcut bir uygulamaya entegre etme konusunda öneriler
Şimdi kontrolün (IoC) bir konteynırını mevcut bir uygulamaya entegre etmekle karşı karşıyayım ve bunun, kuplajı azaltma ve böylece test edilebilirliği arttırma nihai hedefiyle en kolay şekilde nasıl gerçekleştirilebileceğine dair bazı öneriler arıyorum. Genellikle sınıfların çoğunu tanrı nesnesi olarak sınıflandırmasam da , her birinin statik, singleton ve arayüz eksikliği yoluyla çok …


4
ortam bağlamı ve yapıcı enjeksiyonu
ISessionContext veritabanı, günlük için ILogManager ve başka bir hizmet ile iletişim için kullanılan IService gerektiren birçok çekirdek sınıf var. Tüm çekirdek sınıflar tarafından kullanılan bu sınıf için bağımlılık enjeksiyonu kullanmak istiyorum. İki olası uygulamam var. IAmbientContext'i üç sınıfın tümü ile kabul eden veya tüm sınıf için üç sınıfın enjekte ettiği …

3
Bağımlılık enjeksiyonu kullanılırken bir sınıfta kaç enjeksiyon kabul edilebilir
C # bağımlılık enjeksiyon için Unity kullanıyorum, ancak soru bağımlılık enjeksiyon kullanan herhangi bir dil ve çerçeve için geçerli olmalıdır. SOLID prensibini takip etmeye çalışıyorum ve bu yüzden çok sayıda soyutlama aldım. Ama şimdi bir sınıfın kaç enjeksiyon enjekte etmesi için en iyi uygulama olup olmadığını merak ediyorum? Örneğin, 9 …

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.