Skip to content

ramazanaltintop/vertical-slice-architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vertical Slice Architecture Template

vertical-slice-architecture

Bu proje, .NET 9 ile geliştirilmiş, modern ve modüler bir Web API mimari şablonudur. Vertical Slice Architecture (Dikey Dilim Mimarisi) yaklaşımını; modern .NET ekosistemi ile harmanlayarak, yeni nesil web uygulamaları için sağlam ve ölçeklenebilir bir temel sağlar.


API Arayüzü

api-ui


Mimaride Neler Var?

Vertical Slice Architecture, klasik katmanlı mimariden farklı olarak sistemi işlevsel parçalara ayırır. Her özellik kendi diliminde izole çalışır. Örneğin:

CreateCategory özelliği kendi içinde şu yapıları barındırır:

📁 Features/Categories/CreateCategory/
├── 📄 CreateCategoryCommand.cs       // Request modeli (Giriş)
├── 📄 CreateCategoryHandler.cs       // İş mantığı işleyicisi  
├── 📄 CreateCategoryValidator.cs     // FluentValidation kuralları
├── 📄 CreateCategoryResponse.cs      // Response DTO (Çıkış)
└── 📄 CreateCategoryEndpoint.cs      // Minimal API endpoint'i

Features klasörü, uygulamadaki her işlevsel özelliğin (örneğin Kategori, Kullanıcı, Ürün) birbirinden izole şekilde, kendi veri modelleri, iş mantığı ve endpoint'leri ile bir bütün olarak tanımlandığı yerdir. Bu yapı, kod tekrarını azaltır ve bağımsız geliştirme/test avantajı sağlar.


REPR(+V) Yapısı

REPR(+V) mimari akışına göre organize edilmiştir:

Request → Endpoint → Processor → Response (+Validator)

Aşama Açıklama
Request Client'tan gelen veriyi temsil eden Command veya Query sınıfıdır.
Endpoint API'nin dış dünyaya açılan kapısıdır. Gelen request burada karşılanır.
Processor İş mantığının işlendiği Handler sınıfıdır. CQRS mantığına göre ayrılır.
Response İşlem sonucunda client'a dönen veri modelidir. Genellikle DTO’dur.
Validator (+V) FluentValidation kullanılarak request’in doğrulandığı yerdir.

REPR+V Pattern Akış Diyagramı

reprv-pattern


Kullanılan Teknolojiler ve Araçlar

Teknoloji / Kütüphane Açıklama
.NET 9 Güncel .NET sürümü
Minimal API Daha sade, hızlı ve fonksiyonel endpoint yapısı
Entity Framework Core (Code First) ORM aracı, SQL Server ile birlikte kullanıldı
FluentValidation Request doğrulama işlemleri
Scrutor Assembly üzerinden otomatik servis kayıtları (DI için)
OpenAPI / Scalar.AspNetCore API dokümantasyonu ve Scalar arayüzü
CQRS (Manual Handler) Komut ve sorgular için kendi handler yapısı (MediatR yerine)
Global Exception Handling Merkezi hata yönetimi ve tutarlı error response'lar

Lisans

Bu proje MIT Lisansı ile lisanslanmıştır.

Releases

No releases published

Packages

No packages published

Languages