Gereksinimler: ASP.NET Core'da genellikle AddTransient, AddScope ve AddSingleton kullanarak kendi işimize göre farklı yaşam döngülerine sahip hizmetleri kaydediyoruz; proje 100 hizmeti (veritabanı erişim katmanı, normal nesne adlandırma kuralları) kaydetmesi gerekiyorsa, kayıt için 100 satır kod yazmamız gerekiyor, bu hizmetleri dinamik olarak veya yansıtma kullanarak nasıl kaydedebiliriz?
Dinamik yansıtma sayesinde, tamamlanması için sadece birkaç satır kodu kullanmamız gerekiyor ve yeni bir hizmet oluşturduğumuzda (çünkü dinamik olarak kayıtlı olduğunda yeni hizmetler için taranacak), kaydetmemize gerek yok.
Dinamik kayıt servisi prensibi, builder'ı aramaktır. Services.AddServiceDescriptoryol.
Veritabanı erişim katmanımız, arayüz adı: IClassificationService, uygulama arayüzünün nesne adı: ClassificationService, veritabanı erişim katmanının adının ardından "Service" gelir, bu kural üzerinden tüm veritabanı erişim katmanı servislerini kaydedebilirsiniz, kod şöyledir:
IClassificationService arayüz kodu:
SınıflandırmaHizmet kodu:
(Son)
|