C# .NET Framework ve Windows Forms için Bağımlılık Çözücü

Katılım
9 Haziran 2016
Mesajlar
1.538
Makaleler
2
Çözümler
42
Daha fazla  
Cinsiyet
Erkek
Merhabalar, biraz boş vaktim vardı ve hala Windows Forms kullanan arkadaşların yüzünü güldürmek istedim. Bir bağımlılık çözücü yazdım.
Tabii ki geliştirmeye çok açık ve geliştirilmesi şart diyebilirim. Mesela, şu an için sadece "Constructor injection" yapabiliyor. Ayrıca "Proxy" mevzularına girmedim. Gayet basit bir bağımlılık çözücü oldu.

Kullanması gayet basit, repomdaki paketleri indirip ikisine referans verdikten sonra "Program.cs" üzerinde aynı "Startup.cs" gibi bağımlılıklarını yükleyeceksiniz.

C#:
ApplicationBuilder.Run<MainForm>(container =>
{
    container.Services.Register<IAnimalService, DogService>(InjectionType.Singleton);
    container.Services.Register<IAnimalFoodService, DogFoodService>(InjectionType.Singleton);
 
    container.Services.Register<SecondaryForm, SecondaryForm>(InjectionType.Singleton);
    container.Services.Register<ThirdForm, ThirdForm>(InjectionType.Singleton);
});

Bilmeyen arkadaşlarımız için Singleton ve Transient enjeksiyondan biraz bahsedeyim.
Singleton enjeksiyon: Enjekte ettiğiniz somut sınıfın bir kere örneği oluşturulur ve uygulama boyunca her istendiği yere aynı örnek verilir.
Örneğin yukarıdaki kodda Form'ları Singleton enjekte ettik. Yani her bir form, diğer formu constructor ile enjekte ettirdiğinde aynı formlar geri döner. Bunun için "DemoUI" projesindeki ikincil form örneğine bakabilirsiniz.

Transient enjeksiyon: Enjekte ettiğiniz somut sınıfın her çağırıldığında yeni bir örneği oluşur.

Repo Linki: Tıklayınız.
 
Son düzenleyen: Moderatör:

Technopat Haberler

Geri
Yukarı