Onion Mimari
Mimari'yi sunan Jeffrey Palermo'nun tanıtığı Onion mimarisi N Katmanlı mimarinin ilerde yaşatacağı sorunları cözmeyi hedefliyor.
Kuralları değiştiren şey, Domain Layer. Entity'lerin Tüm Uygulamının Merkezinde olmasıdır. Bu Daha yükek esneklik ve daha az bağlantı anlamına gelir.
Domain Katmanı
Entitylerin barındığı katman'dır. Çekirdek içersindedir.
Application
Uygulama katmanı içersinde Domain katmanında bulunan varlıkların (Entity) sorgulanması, eklenmesi, silinmesi gibi işlemlerin sözleşmeleri (interface) yer alır.
Infrastructer
Altyapı katmanı olarak kullanılmaktadır. Bu katman içerinde veri tabanı bulunur.
Persistance
Altyapı katman'nın bir parçası olduğunu görmekteyiz.DbContext bulunur.
Presentation
Sunum Katmanı, UI Bulunur.
CQRS Mimari
Ana odağı yazma ve okuma sorumluklarının ayrıştırılması dayanan bir mimari tasarım modelidir.
Bu yaklaşımda metotlar 2 farklı modele ayrılmalıdır;
* Commands : Objenin veya sistemin durumunu değiştirir.
* Queries : Sadece sonucu geriye döner herhangi bir objenin veya sistemin durumunu değiştirmez.
Commands
Yeni bir veri eklemek, güncellemek yapmak ve silmek için kullanılır.
Queris
Veri tabanından veri almak için kullanılır, listeleme v.s
Ne zaman kullanmalıyız?
Fazla Servis içeren projelerde kullanılır.
Avantajları
Çok fazla üşendim
Dezavantajları
Kodlar karmaşık
