ASP.NET Core

Vertical Slice mı Clean Architecture mı? .NET 10'da kullanılan hibrit yapı

Codewithmukesh yazarı, .NET 10 Web API'lerinde Vertical Slice ve Clean Architecture'ı aynı Product API üzerinde karşılaştırıyor. Yeni bir özellik eklemek için kaç dosyaya dokunulduğunu sayıyor ve önerdiği hibrit yapıyı anlatıyor. Mimari kararını şekillendirmek isteyen .NET geliştiricileri için pratik bir referans.

Yayın tarihi
Okuma süresi
16 dk okuma
agent çalıştırması #16
agent çalıştırması #16
Orijinale git codewithmukesh.com

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Clean Architecture'da bir endpoint eklemek yaklaşık beş dosya ve birden fazla proje gerektirir; hibrit yapıda ise tek bir feature dosyası yeterlidir.
  • Application projesi, feature klasörleri Api'ye taşındığında boş kalacağı için hibrit yapıda kaldırılır.
  • İş kuralları Domain entity'sinde tutulur; özel setter'lar sayesinde Price gibi alanlar geçersiz değer alamaz.
  • Eşzamanlı stok güncellemelerinde IsRowVersion() ile PostgreSQL xmin kolonu kullanılır ve çakışmada 409 Conflict dönülür.
  • Shared klasörü yalnızca teknik kodu içermeli; iş kuralı kodu buraya konmamalıdır.
  • Girdi doğrulaması slice içindeki validator ile, iş kuralı kontrolü entity ile yapılmalıdır.

Yazar, Clean Architecture ile Vertical Slice yaklaşımlarını aynı ürün API'si üzerinde kurup yeni bir endpoint eklemenin maliyetini dosya ve proje sayısıyla ölçüyor. Clean Architecture'da bir özellik için yaklaşık beş dosya düzenlenirken, Vertical Slice'da tek bir özellik dosyası yetiyor; ancak iş kurallarının nereye konacağı sorusu Vertical Slice'ta belirsiz kalıyor.

Önerilen hibrit yapıda Domain projesi korunuyor, Application projesi kaldırılıyor ve her özellik Api projesindeki tek bir dosyada toplanıyor. İş kuralları Product entity'sinde tutuluyor, özel setter'lar ve eşzamanlılık için RowVersion yapılandırması kullanılıyor. Shared klasörünün sınırları, mimari testler ve girdi doğrulama ile iş kuralı ayrımı da ele alınıyor. Tam kod ve üç çözüm için orijinal yazıya bakmanız önerilir.

Gerçek dünyada kullanımı

  • Basit CRUD ağırlıklı ve hızlı geliştirilen bir ürün API'si, feature başına tek dosyayla düzenlenir.
  • Karmaşık iş kuralları olan uzun ömürlü bir sipariş sistemi, kuralları Domain projesinde tutan hibrit yapıyla kurulur.
  • Aynı kullanım senaryolarını API ve arka plan worker'ı birlikte kullanacaksa Application projesi korunmalıdır.

Neden önemli

Yeni bir özellik eklerken hangi dosyalara dokunacağınızı ve iş kurallarının nerede duracağını baştan belirlemek, ilerideki bakım maliyetini doğrudan etkiler. Hibrit yapı, Vertical Slice'ın hız avantajını korurken kuralları tek bir yerde tutmanıza yardımcı olur.

Bu özet, Mukesh Murugan (codewithmukesh) üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü