ASP.NET Layered Architecture
Başka bir katmandan veri alacağımız zaman o katmanı dependencies e ekliyoruz.
Constructor, bellekte referans aldığı zaman çalışacak olan bloktur.
AppDbContex sınıfı nerde ise migration işlemi orada yapılmalıdır.
Core tarafındaki IProductService ve IcategoryService i implement eden
Service katmanını yazacağız. Business kodu burda yazacağız. Db ile bağlantısı olmayıp uygulama içinde çalışacak kodlar da burda bulunmaktadır. SMS mail gönderme metodu gibi.
API katmanı Service katmanı ile haberleşecek. Service de hem Core ile hem
de Data ile haberleşiyor olacak.
Eğer kullanıcıya bir data döneceksek entity yada modeli direk olarak dönmemeliyiz. Çünkü içinde hassas bilgiler olabilir.
Yeni bir Entity oluşturulması ve diğer işlemleri
ValidatonFilter -> Alanların doğru bir şekilde doldurulmasını saplamak için yazdık.
NotFoundFilter -> İlgili parametrenin bulunup bulunmadığında vereceği sonuçları yazdık.
Validation Filter ı tek tek tüm Action lara yazmaktansa ilgili controller daki tüm actionları kapsamasını istersek namespace in hemen altına yazılır. Yada validation filter ın kullandığımız tüm controllerlar da geçerli olmasını istersek startup da.
services.AddControllers(o => {
o.Filters.Add(new ValidationFilter)
});
yazılmalıdır.
Web projesinde son olarak API ile haberleşmektedir. Eğer Service ile haberleşmek istersek, Service İçin Kodlar klasöründe bulunan class ları diğerlerinin yerine koymalıyız.