Dependency Injection(DI) Nedir?

Dependency Injection

Merhaba. İlk yazımda Dependency Injection(DI)’ ın ne olduğunu anlatmaya çalışacağım.

Aşağıda google dan aratıp wikipedia’ dan aldığım ilk cümle var.

In software engineeringdependency injection is a technique whereby one object supplies the dependencies of another object. A “dependency” is an object that can be used, for example a service. Instead of a client specifying which service it will use, something tells the client what service to use. The “injection” refers to the passing of a dependency (a service) into the object (a client) that would use it.

wikizero

Yani wikipedia diyor ki; Dependency Injection bir nesneyi onu kullanacak başka bir nesneye göndermektir. Bu kadar basit. Dependency Injection’ın aslında tam olarak manası bu. Bir nesnenin, kullanacağı nesneleri kendisi yaratmaktansa, dışarıdan başka birinin ona bu nesneleri vermesidir Dependency Injection. Bu da genellikle constructor’a konan bir parametre yardımı ile yapılır. Ancak farklı türleri de vardır.

Internette, özellikle Türkçe kaynaklarda Dependency Injection’ ın ne olduğuna dair bir çok yanlış ya da muallakta olan bilgi var. Bu yazılar genellikle Dependency Injection ile SOLID prensiplerinin son harfinin temsil ettiği Dependency Inversion prensibinin karıştırıldığı yazılar oluyor.

Dependency Injection, Dependency Inversion değildir. Aralarında fark vardır. Bunu en iyi aşağıda paylaştığım stackoverflow cevabından anlayabiliriz.

https://stackoverflow.com/a/46745172

Bu yazımda bahsetmek istediklerim bu kadar. Çok uzun bir yazı olmadı. Çünkü anlatmak istediğim basit ve karmaşıklaştırmak istemediğim birşeydi.

Gelecek yazılarımda SOLID prensiplerinden Dependency Inversion’ ın ne olduğundan bahsedebilirim.

“Dependency Injection(DI) Nedir?” için 2 yanıt

  1. NazımTemmuz 29, 2019 6:15 amYanıtla

    Değerli paylaşımınız için teşekkürler

  2. adminTemmuz 29, 2019 6:02 pmYanıtla

    Rica ederim.

Bir yorum bırakın