Ana içeriğe atla

Bağımlılık Enjeksiyonu

 

Serenity, bağımlılıklarını soyutlamak ve seçtiğiniz kütüphaneler ve hizmet sağlayıcılarla çalışmayı mümkün kılmak için bağımlılık enjeksiyon modelini kullanır.

Serenity, ASP.NET Core'un yerleşik Dependency Injection özelliğiyle derinlemesine entegredir.

Bazı Serenity derlemelerinin Serenity.Extensions.DependencyInjection ad alanındaki varsayılan Serenity hizmetlerini kolayca yapılandırmak için bazı uzantı yöntemleri sağlıyoruz :

toplantısınıf
Serenity.CoreCoreServiceCollectionUzantılar
Serenity.DataDataServiceCollectionExtensions
Huzur.VarlıkEntityServiceCollectionExtensions
Serenity.ServicesServiceCollectionUzantılar
Serenity.WebDynamicScriptServiceCollectionExtensions
Serenity.WebUploadServiceCollectionExtensions

Startup.csBu uzantı yöntemleri genellikle Serenity hizmet soyutlamalarının varsayılan uygulamalarını kaydetmek için dosyanın içinde çağrılır :

services.AddServiceHandlers();
services.AddDynamicScripts();
services.AddCssBundling();
services.AddScriptBundling();
services.AddUploadStorage();

Tüm bu uzantılar, TryAddSingletonkayıt çağrılarının deneme sürümünü kullanır; dolayısıyla, belirli bir hizmet için başka bir sağlayıcıyı aramadan önce kaydederseniz, kaydınızı geçersiz kılmazlar:

// here we register the MyCustomScriptBundleManager as the custom
// implementation of the IScriptBundleManager service
collection.AddSingleton<IScriptBundleManager, MyCustomScriptBundleManager>();

// in the line below AddScriptBundling will also try to register the default
// implementation of IScriptBundleManager, but as it will use the
// TryAddSingleton variant, it won't override MyCustomScriptBundleManager
services.AddScriptBundling();

ASP.NET Core çerçevesinde DI hakkında daha fazla bilgi için aşağıdaki belgeye bakın:

ASP.NET Core'a bağımlılık ekleme - Learn.Microsoft.com

V5'ten önce Serenity'nin bir hizmet konumu kapsayıcısı vardı ancak o zamandan beri tamamen .NET DI'ye geçtik.

Bu blogdaki popüler yayınlar

Code generetor ile oluşturulan dosyaların açıklamaları

  1. Sunum (Presentation/UI) Katmanı (Kullanıcı arayüzü - HTML, TypeScript, Dialog, Grid) 🔹 XYZPage.ts 📌 Ne İşe Yarar? Kullanıcı arayüzünün TypeScript tarafındaki tanımıdır. Serenity'nin Dialog ve Grid bileşenlerini içeren bir TypeScript sınıfıdır. 📌 Çok Katmanlı Mimarideki Yeri: Sunum Katmanı (Presentation Layer) Kullanıcıdan veri almak ve göstermek için kullanılır. 🔹 XYZGrid.ts 📌 Ne İşe Yarar? Tablo (Grid) yapısını oluşturur ve verileri listeler. Filtreleme, sıralama ve sayfalama işlemleri için kullanılır. columnsKey ile hangi kolonların gösterileceğini belirler. 📌 Çok Katmanlı Mimarideki Yeri: Sunum Katmanı (Presentation Layer) Kullanıcının verileri listelediği ve etkileşimde bulunduğu yerdir. 🔹 XYZDialog.ts 📌 Ne İşe Yarar? CRUD (Create, Read, Update, Delete) işlemlerini yöneten pencere (modal) bileşeni Kullanıcı form aracılığıyla veri ekler, günceller veya siler. XYZForm.cs ile birlikte çalışır. 📌 Çok Katmanlı Mimarideki Yeri: Sunum Katmanı (Presentation Layer) Kull...

Serenity Web Nedir?

   Serenity  , açık kaynak teknolojileri üzerine kurulu bir ASP.NET Core/TypeScript uygulama platformudur. Standart kodlardan kaçınarak, tekrarlanan görevlere harcanan zamanı azaltarak ve en iyi yazılım tasarımı uygulamalarını uygulayarak bakım maliyetlerini düşürürken geliştirmeyi kolaylaştırmayı amaçlamaktadır. Serene  , Serenity platformunu temel alan ücretsiz, açık kaynaklı başlangıç ​​uygulama şablonumuzdur.  Bu dokümantasyon aracılığıyla eğitimimiz ve diğer örnekler için esas olarak Serene'yi kullanacağız. StartSharp  , ücretli müşterilerimize sunduğumuz premium uygulama şablonudur.  Daha gösterişli bir temaya ve bazı ekstra özelliklere  ek olarak Serene'deki her şeyi içerir  .  İkisi de Serenity platformunu temel alıyor. Adında Ne Var Serenity'nin sözlük anlamları  barış  ,  rahatlık  ve  sakinliktir  . Serenity ile bunu başarmaya çalışıyoruz.  Umarız yükledikten ve kullandıktan sonra siz de bu ş...