Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir konuşmacının Automapper kütüphanesinin kullanımını anlattığı eğitim içeriğidir.
- Video, Automapper yapısının neden kullanıldığını açıklayarak başlıyor ve DTO (Data Transfer Object) sınıflarının nasıl oluşturulacağını adım adım gösteriyor. İçerikte Entity katmanında DTO sınıflarının oluşturulması, Automapper paketinin ekleme, profil sınıflarının oluşturulması, EntityBase sınıfından Article DTO sınıfına mapleme yapma, reverse mapleme ve dependency injection yapılandırması gibi konular kod örnekleriyle anlatılmaktadır.
- Video sonunda, bir sonraki bölümlerde Identity'e giriş yapılacağı ve projelerin GitHub'da güncellenerek paylaşılacağı belirtilmektedir.
- 00:01Automapper Yapısının Önemi
- Bu videoda Automapper sınıfları ve yapısı incelenecek.
- View'larda listelenen article entity'sinde birçok alan bulunurken, sadece bazı alanlar kullanılır.
- Güvenlik, maliyet ve kullanım açısından tüm alanları listelemek mantıklı değildir.
- 02:46DTO Sınıflarının Oluşturulması
- Automapper yapısında DTO (Data Transfer Object) veya ViewModel kullanılabilir.
- Entity katmanında DTO sınıfı oluşturulabilir, ancak bu örnekte ViewModel yerine DTO kullanılacak.
- DTO sınıfı için "articles" klasörü ve "ArticleDT" sınıfı oluşturulacak.
- 05:54DTO Sınıfının Özellikleri
- Admin kısmında data table'lar kullanılacağı için ID alanı da DTO'ya eklenmelidir.
- Normal panelde ID gösterilmeyeceği için DTO'ya ID alma gereksinimi olmayabilir.
- ArticleDT sınıfında ID, Title, Content, ViewCount, CreatedBy, CreatedDate ve IsDeleted alanları tanımlanacak.
- 10:24DTO Sınıfının Neden Entity Katmanında Oluşturulması
- DTO sınıflarının entity katmanında oluşturulmasının sebebi katmanlar arasındaki referansların tek yönlü olmasıdır.
- DTO'lar servislerde de kullanılacağı için, doğrudan entity'ye erişmek yerine DTO'ya erişmek daha mantıklıdır.
- Web katmanında DTO'lar oluşturulduğunda servis katmanında kullanılamaz, bu nedenle entity katmanında oluşturulur.
- 13:16Automapper Paketinin Ekleme ve Kullanımı
- Servis katmanında "Automapper" isimli bir klasör oluşturulur.
- NuGet Project üzerinden Automapper paketi ve Dependency Injection paketi indirilir.
- ArticleProfile sınıfı oluşturulur ve CreateMap metodu çağrılır.
- 15:47Automapper Kullanımı ve DTO Oluşturma
- Automapper kullanırken, DTO sınıfında entity sınıfından direkt referans alınır ve birebir eşleme yapılır.
- DTO sınıfında id, title, content, view content, created date ve created by gibi propertyler bulunur ve bu propertyler entity sınıfındaki karşılıklarıyla aynı tip ve isme sahiptir.
- DTO sınıfında reverse map fonksiyonu eklenerek entity ve DTO arasında dönüşüm yapılabilir.
- 18:31Dependency Injection Yapısı
- Automapper'ın dependency injection yapısı için AssemblyReflection kullanılarak assembly'ler dahil edilir.
- Assembly'ler, Automapper'ın tüm profile'dan türeyen kalıtım alan alanları otomatik olarak bulup dependency injection yapısını kurmasını sağlar.
- Add Automapper kullanmak için gerekli extension'ların yüklenmesi gerekir.
- 20:35Servis ve Controller'da DTO Kullanımı
- Servis ve controller'da entity yerine DTO kullanılarak işlemler gerçekleştirilir.
- Mapper kütüphanesi kullanılarak entity'den DTO'ya dönüşüm yapılır.
- Home controller'da article yerine article DTO alınarak view'a gönderilir ve view'da DTO'dan gelen tüm değerler görüntülenir.
- 26:38Proje Durumu ve Gelecek Planlar
- Automapper'ın temel mantığı, kullanacağımız şeyleri almak ve entity'den DTO'ya dönüşüm yapmaktır.
- Bir sonraki bölümlerde daha komplike yapılarla bu kısımlar tamamlanacak ve Identity'e giriş yapılacaktır.
- Projeler her ders sonrasında güncellenerek GitHub reposterisinde tutulacak ve link açıklamalar kısmından takip edilebilir.