项目作者: cnahmetcn

项目描述 :
ASP.NET Layered Architecture
高级语言: C#
项目地址: git://github.com/cnahmetcn/layeredarc.git
创建时间: 2021-03-20T14:47:18Z
项目社区:https://github.com/cnahmetcn/layeredarc

开源协议:

下载


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.

  • add-migration Initial (Remove-Migration) (data katmanında)
  • Update-Database

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

  • Core katmanında Person isimli yeni bir entity oluşturduk.
  • Data katmanında AppDbContext te DbSet ini oluşturduk.
  • Data katmanında Configuration da Entity bilgilerini oluşturduk.
  • Data katmanında Seeds de otomatik bilgilerini oluşturduk.
  • Migration oluşturduk. (add-migration AddPersonTable) (Data katmanında)
  • update-Database dedik.
  • API katmanında Api Controller ını oluşturduk.
  • Core katmanında service ini yazdık.
  • API

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.