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


Image placeholder