2015-05-13 18 views
19

Dagger'ın bir bağımlılık enjeksiyon çerçevesi olduğunu biliyorum, ancak hala projelerimde kullanmıyorum.Android uygulamasında Dagger ne zaman kullanılır?

Yeni bir projeye başlıyorum ve Dagger'ın buna uygun olup olmadığını merak ediyorum. Anladığım kadarıyla, Hançer'ın kullanılması pek çok kod ve ek açıklamaya yol açıyor. Bu yüzden, göreceli olarak basit bir projem için bir aşırı sıkma olup olmadığından emin değilim.

Projeyle ilgili biraz. Görüntü işleme üzerinde odaklanır ve işlevsellik ana parçası etrafında inşa edilmiştir. Bununla birlikte, muhtemelen veri depolama için basit bir arka uzaya sahip olacaktır.

Genel olarak, proje için Hançer kullanmayı seçerken kullanabileceğim bazı temel ilkeleri bilmek isterim.

cevap

17

Temel Anlama:

varsayalım, sen Kredi Kartı hizmeti ile ilgilenen başvurunuzu test etmek istiyorum. Test amaçlı olarak, gerçek işlem ve geliştirme sırasında yapmak istemediğiniz diğer şeylere ihtiyaç duyacağından, gerçek RPCCreditCardService Erişimine erişmek istememelisiniz. Bu durumda, gerçek CreditCardService'nin yaptığı gibi bir şeyi işlemekle birlikte aynı şeyi taklit edecek bir sahte hizmet oluşturmak zorunda kalmalısınız. Bağımlılık enjeksiyon çerçevesini kullanırsanız, bağımlılıkta ortak görevleri tanımlayabilir ve hem sahte hem de gerçek hizmette enjekte edebilirsiniz. Kodlama karmaşıklığını en aza indirecek ve her bir modülü bağımsız hale getirecektir. belgelerine

:

bağımlılık enjeksiyon çerçeve kullanarak, her sınıf test etmek kolaydır. Sadece bir FakeCreditCardService için RpcCreditCardService'i takas etmek için bir grup karmaşaya ihtiyacınız yoktur.

Bağımlılık enjeksiyonu sadece test amaçlı değildir. Yeniden kullanılabilir, değiştirilebilir modüller oluşturmayı da kolaylaştırır. Aynı AuthenticationModule uygulamasını tüm uygulamalarınızda paylaşabilirsiniz. Ve her durumda doğru davranışı elde etmek için üretim sırasında Geliştirme ve ProdLoggingModule sırasında DevLoggingModule çalıştırabilirsiniz.

Referans: Eğer this discussion kontrol edebilirsiniz ayrıntılı anlamak için

.

+1

Soru bağımlılık enjeksiyon değil, Dagger hakkındaydı. –

+3

hançer bağımlılık enjeksiyon çerçevedir – Idee

İlgili konular